【发布时间】: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