【问题标题】:How to add user in Linux with his information如何使用他的信息在 Linux 中添加用户
【发布时间】:2014-06-22 20:40:04
【问题描述】:

我想用useradd命令在Linux中创建C应用程序来添加用户。

我在使用它时编写此代码终端打印错误消息:

useradd :permission denied
useradd :cannot lock/etc/passwd; try again later 

这是我添加用户的 C 代码,例如我想添加 user1 只需写 user1

char a[50];
char command[150];
fgets(a,sizeof(a),stdin);
strcpy(command,"useradd ");
strcat(command,a);

如何用正确的语法或命令解决这个问题?

【问题讨论】:

  • 你是如何调用你的程序的?通过 sudo?
  • 这只是权限问题。您以用户身份启动了程序。用户不能添加其他用户,只有root可以。试试sudo myapp,它会让你的应用以root身份运行,你就可以添加用户了。
  • @Adam 我使用 gcc 编译我的程序
  • @user3602366 在执行、运行等中调用。不管你用什么编译
  • 为什么不在 shell 中使用 useradd 目录呢?为什么要将它包装在 C 程序中?

标签: c linux shell command-line


【解决方案1】:

如果sudo包没有安装,你可以安装它。或者,您可以使用 su 将其创建为 root。之后它会询问 root 密码,您可以使用任何超级用户 caommnads。

【讨论】:

  • 我安装了sudo 包,但是使用它时终端停止工作
  • 您正在使用哪个发行版。我认为这不是 sudo 问题。安装后,您必须修改etc/sudoers 中的内容,这将处于只读模式。首先更改权限,然后添加一行user ALL=(ALL:ALL) ALLuser 应该是您的系统用户名
  • 在此之后,您必须再次将权限更改为-r--r-----,然后它将开始工作。
【解决方案2】:

这是因为您需要以 root 权限运行命令。

试试这个,sudo -- useradd

【讨论】:

  • 我如何正确使用此命令请为我要添加的用户添加密码
  • 首先运行一个root权限的命令。第二次运行 de useradd 命令
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-25
  • 2016-12-28
  • 1970-01-01
相关资源
最近更新 更多