Назад | Перейти на главную страницу

Невозможно удалить пользователя из группы

Некоторое время назад неизвестно для каких целей тестирования я добавил www-data группе разработчиков, названной devs. Я хочу удалить его сейчас, но это не позволяет мне выводить следующее сообщение:

$ sudo deluser www-data devs
/usr/sbin/deluser: The user `wwww-data' does not exist.

Однако он существует:

$ cat /etc/passwd | grep www-data
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

и он, безусловно, принадлежит к группе:

$ cat /etc/group | grep devs
devs:x:1004:www-data,other_user

Я, конечно, мог бы отредактировать файл вручную, но что происходит?

PD: Ubuntu 14.04.

$ sudo deluser www-data devs
/usr/sbin/deluser: The user `wwww-data' does not exist.

Ошибка показывает пользователя с 4 W вместо 3. Это опечатка или подсказка?

Выполните команду:

groups www-data

Если первый элемент там "www-data", за которым следует dev, то вам просто нужно использовать команду

usermod -G www-data www-data

Это удалит www-данные из всех групп, кроме www-данных, которые являются первичными.

Если первый элемент не является www-данными, а на самом деле является разработчиком, вам нужно будет выполнить команду:

usermod -g www-data www-data

Это переместит www-data пользователя в группу www-data и из devs. Если после этой команды остались какие-либо группы, вы можете запустить первую команду usermod, чтобы удалить другие группы.

РЕДАКТИРОВАТЬ: если вы хотите использовать юзердел для этой операции вам необходимо убедиться, что разработчики не является основной группой для учетной записи www-data. Если это так, вам нужно будет использовать usermod -g команда для изменения основной группы, поскольку вы не можете удалить основную группу для учетной записи.