我正在尝试批量创建多个用户帐户,并且我对 /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
希望这可以帮助!