Я пытаюсь создать несколько учетных записей пользователей в пакетном режиме, и у меня есть все права доступа к / etc / passwd
Однако эта команда
sudo echo "vv1:myUltraSecretPassword" | newusers
всегда возвращает эту ошибку
newusers: Permission denied.
newusers: cannot lock /etc/passwd; try again later.
I ' мы пробовали все решения в сообщении 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 /
Во-первых, 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
Надеюсь, это поможет!