Как добавить группу к пользователю, не удаляя другую группу в SuSe Linux с usermod?

Статья менеджера окон перепорождения о Википедии сильно подразумевает, что openbox является перепорождением wm:

Фактически все современные менеджеры окон повторно порождают, хотя более ранние менеджеры окон, такие как uwm менеджер окон, не были. Исключения к тому правилу являются потрясающими, dwm, PLWM, крысиный яд и xmonad, из-за отсутствия любых типичных художественных оформлений окна, используемых этими менеджерами окон и также Compiz, который привлек художественные оформления отдельно вплоть до версии 0.9.0, где это стало менеджером окон перепорождения, чтобы позволить этому работать в несоставленном режиме.

7
24.01.2015, 00:58
3 ответа

Если вы не против использования :

$ busybox ash -c 'a()(alias x=echo\ hi;type x;alias;eval x);a'
x is an alias for echo hi
x='echo hi'
hi

Я понятия не имею, почему это работает.

-121--83421-

В SLES11 SP3, команда USERMOD USERMOD (из PWDUTILS 3.2.15) поддерживает опцию -A , которая будет делать то, что вы хотите:

-A, --add-to-group group,...
    With this option a list of  groups can be specified, which the user should
    become a member of. Each group is separated from the next one only by a comma,
    without whitespace.

В SLES12 и OpenSUSE 13.1, команда USERMOD (из более широко используемых теневых utils 4.1.5.1) поддерживает опцию -A , который будет использоваться в сочетании с -G Вариант:

-a, --append
    Add the user to the supplemental group(s). Use only with -G option.

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
    A list of supplementary groups which the user is also a member of. Each group
    is separated from the next by a comma, with no intervening whitespace. 

    If the user is currently a member of a group which is not listed, the user
    will be removed from the group. This behaviour can be changed via the -a option,
    which appends the user to the current supplementary group list.
4
27.01.2020, 20:17

Если ваш Usermod не имеет способа добавить (даже не -A ), попробуйте принять участие в Текущий набор групп:

usermod -G "$(groups testuser | sed 's/.*: //;s/ /,/g'),testgroup2" testuser
3
27.01.2020, 20:17

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

 -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
           A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the -g option.

Вместо этого используйте adduser:

adduser [options] user group

adduser можно использовать не только для добавления пользователя, но и для добавления пользователя в группу.


или как указывает @mark plotnick, используйте -a опцию usermod

1
27.01.2020, 20:17

Теги

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