Иногда в Linux при добавлении пользователя с помощью команды useradd он вызывается ошибку.
Пример :
#useradd test useradd: cannot lock /etc/passwd; try again later
Ответ
Системные файлы, связанные с управлением пользователями Linux:
/etc/passwd: содержит информацию об учетной записи пользователя
/etc/shadow: содержит защищенную информацию об учетной записи (зашифрованный пароль)
/etc/group: содержит информацию о группе
/etc/gshadow: содержит защищенную информацию о группе (зашифрованный пароль)
Когда вы создаете или изменяете пользователя, некоторые блокирующие файлы создаются для предотвращения одновременной модификации этих системных файлов.
Файлы блокировки
/etc/passwd.lock
/etc/shadow.lock
/etc/group.lock
/etc/gshadow.lock
Эти файлы должны автоматически удаляться после завершения команды «useradd» или «usermod».
Иногда вы можете столкнуться с ситуациями (ошибками), когда некоторые из этих файлов не могут быть правильно разблокированы после выполнения команды.
В этом случае при выполнении useradd в следующий раз может появиться сообщение об ошибке «невозможно заблокировать /etc/password» или «невозможно заблокировать файл группы».
Таким образом, если у вас возникнут такие ошибки, проверьте наличие файлов блокировки в /etc.
# cd /etc # ls –l *.lock
Если вы найдете файлы блокировки с именем passwd.lock, shadow.lock, group.lock или gshadow.lock, удалите их.
# rm –rf /etc/passwd.lock # rm –rf /etc/shadow.lock # rm –rf /etc/group.lock # rm –rf /etc/gshadow.lock
Теперь вы можете выполнить useradd без каких-либо ошибок.