Bug 5468 - RFE: add support for add/remove list of supplementary groups via usermod(8)
Summary: RFE: add support for add/remove list of supplementary groups via usermod(8)
Status: CLOSED WORKSFORME
Alias: None
Product: Sisyphus
Classification: Development
Component: shadow-utils (show other bugs)
Version: unstable
Hardware: all Linux
: P2 enhancement
Assignee: Mikhail Efremov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-09 13:49 MSK by Artem K. Jouravsky
Modified: 2005-07-13 15:47 MSD (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Artem K. Jouravsky 2004-11-09 13:49:25 MSK
Чтобы внести пользователя в группу при помощи usermod, необходимо перечислить
все группы, в которых он уже есть, что неудобно и чревато ошибками. Вариант
действия:
сделать два отдельных ключа для команды, чтобы можно было безопасно (без прямого
редактирования /etc/group или использования дополнительных программ типа
groupkit) изменять членство пользователя в группе, не затрагивая при этом
остальных групп, не перечисленных в команде. Например, вот так:
usermod -Ga group user -- добавить user в группу group
usermod -Gd group user -- удалить user из группы group
Comment 1 Dmitry V. Levin 2004-11-09 14:01:30 MSK
Если бы вы предложили приемлемый синтаксис для usermod(8), то я бы подумал над
реализацией.

Дело в том, что "usermod -Ga" - это сейчас корректная операция (добавление в
список групп, состоящих из одной лишь группы "a"), из-за чего "usermod -Ga group
user" становится синтаксически слишком сложной.
Comment 2 Artem K. Jouravsky 2004-11-09 17:20:59 MSK
Ничего приличного в голову не приходит, Вы правы.
Как вариант, можно расширить функциональность groupmod -- там с параметрами
намного проще.
В FreeBSD, например, можно пользоваться pw(8), где и присутствуют usermod,
groupmod -- аналоги linux-версий. Там можно использовать
pw groupmod <group> -m <user>:
-m newmembers  Similar to -M, this option allows the addition of existing
                    users to a group without replacing the existing list of
                    members.  Login names or user ids may be used, and dupli-
                    cate users are silently eliminated.

Comment 3 Dmitry V. Levin 2004-11-11 15:51:52 MSK
В groupmod(8) из pwdutils это сделано так:

-A, --add-user user
       Add the user account to the specified group.

-R, --remove-user user
       Remove the user account from the specified group.
Comment 4 Dmitry V. Levin 2004-11-19 20:20:46 MSK
Томожу.

gpasswd -a user group
gpasswd -d user group

Пакет shadow-groups.