newusers 命令总是返回 Permission denied,我该怎么办?

newusers 命令总是返回 Permission denied,我该怎么办?

我正在尝试批量创建多个用户帐户,并且我对 /etc/passwd 拥有完全权限

但是,此命令

sudo echo "vv1:myUltraSecretPassword" | newusers

总是返回此错误

newusers: Permission denied.
newusers: cannot lock /etc/passwd; try again later. 

我已经尝试了帖子中的所有解决方案https://superuser.com/q/296373/1100842

例如删除锁定文件

ubuntu@VM-0-17-ubuntu:~$ sudo rm /etc/passwd.lock
rm: cannot remove '/etc/passwd.lock': No such file or directory
ubuntu@VM-0-17-ubuntu:~$ sudo rm /etc/shadow.lock
rm: cannot remove '/etc/shadow.lock': No such file or directory
ubuntu@VM-0-17-ubuntu:~$ sudo rm /etc/group.lock
rm: cannot remove '/etc/group.lock': No such file or directory
ubuntu@VM-0-17-ubuntu:~$ sudo rm /etc/gshadow.lock
rm: cannot remove '/etc/gshadow.lock': No such file or directory 

并重新安装

sudo mount -o remount,rw /

答案1

首先,命令sudo需要newusers,而不是echo命令。您收到无法锁定的消息,因为sudo未从echo命令传递到newusers命令。因此,您需要将 移到sudo之后|之前newusers

命令中密码行的布局echo缺少字段,因此,如果您sudo在正确的位置输入了密码,您可能会看到如下错误消息

newusers: line 1: invalid line
newusers: error detected, changes ignored

从手册页中newusers我们可以看到它显示了所有必需的字段。

DESCRIPTION
       The newusers command reads a file (or the standard input by default)
       and uses this information to update a set of existing users or to
       create new users. Each line is in the same format as the standard
       password file (see passwd(5)) with the exceptions explained below:

       pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell

上面有 7 个字段,这意味着您需要 6:个。您需要将所有字段用必填项分隔开,:才能创建新用户,即使字段为空。

该命令应如下所示:

echo "vv1:myUltraSecretPassword:::::" | sudo newusers

希望这可以帮助!

相关内容