Я подключен к серверу LTS Ubuntu 12.04.3 через SSH; когда я пытаюсь добавить группу, я получаю следующее сообщение:
groupadd: не может заблокировать/etc/group; попробуйте еще раз позже.
В исследовании этой проблемы я нашел, что некоторые предложения искали и удалили a .pwd.lock
файл в том же каталоге. Я нашел такой файл, созданный более чем год назад; я удалил его, но это не изменило поведение groupadd
.
Я читал, не Может заблокировать '/etc/group' в режиме восстановления, но я не загружаюсь в режим восстановления, и все разделы являются смонтированным чтением-записью. Я не зарегистрирован как пользователь root.
Сообщение об ошибке технически корректно, но "попробовали еще раз позже" сообщение, вводит в заблуждение. Реальная проблема здесь скрыта в сообщении об ошибке от adduser
:
nonroot@host:/$ adduser existinguser newgroup
adduser: Only root may add a user or group to the system.
Для добавления новой группы, когда зарегистрированный как некорневого пользователя необходимо использовать sudo
:
nonroot@host:/$ sudo groupadd newgroup
[sudo] password for host:
nonroot@host:/$ grep 'newgroup' /etc/group
newgroup:x:1013:
nonroot@host:/$
Я только что обнаружил, что получаю это сообщение во время сборки Docker.
Я очень легко решил эту проблему, добавив эту директиву перед привилегированными командами в Dockerfile:
USER root