Команда newusers всегда возвращает Permission denied, как мне с этим бороться?

Я пытаюсь создать несколько учетных записей пользователей в пакетном режиме, и у меня есть все права доступа к / 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 /
3
задан 26 October 2020 в 03:03

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

Надеюсь, это поможет!

10
ответ дан 26 October 2020 в 00:16

Другие вопросы по тегам:

Похожие вопросы: