<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>5468</bug_id>
          
          <creation_ts>2004-11-09 13:49:25 +0300</creation_ts>
          <short_desc>RFE: add support for add/remove list of supplementary groups via usermod(8)</short_desc>
          <delta_ts>2005-07-13 15:47:00 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>shadow-utils</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Artem K. Jouravsky">tema</reporter>
          <assigned_to name="Mikhail Efremov">sem</assigned_to>
          <cc>ldv</cc>
    
    <cc>sem</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>19704</commentid>
    <comment_count>0</comment_count>
    <who name="Artem K. Jouravsky">tema</who>
    <bug_when>2004-11-09 13:49:25 +0300</bug_when>
    <thetext>Чтобы внести пользователя в группу при помощи usermod, необходимо перечислить
все группы, в которых он уже есть, что неудобно и чревато ошибками. Вариант
действия:
сделать два отдельных ключа для команды, чтобы можно было безопасно (без прямого
редактирования /etc/group или использования дополнительных программ типа
groupkit) изменять членство пользователя в группе, не затрагивая при этом
остальных групп, не перечисленных в команде. Например, вот так:
usermod -Ga group user -- добавить user в группу group
usermod -Gd group user -- удалить user из группы group</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19706</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2004-11-09 14:01:30 +0300</bug_when>
    <thetext>Если бы вы предложили приемлемый синтаксис для usermod(8), то я бы подумал над
реализацией.

Дело в том, что &quot;usermod -Ga&quot; - это сейчас корректная операция (добавление в
список групп, состоящих из одной лишь группы &quot;a&quot;), из-за чего &quot;usermod -Ga group
user&quot; становится синтаксически слишком сложной.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19716</commentid>
    <comment_count>2</comment_count>
    <who name="Artem K. Jouravsky">tema</who>
    <bug_when>2004-11-09 17:20:59 +0300</bug_when>
    <thetext>Ничего приличного в голову не приходит, Вы правы.
Как вариант, можно расширить функциональность groupmod -- там с параметрами
намного проще.
В FreeBSD, например, можно пользоваться pw(8), где и присутствуют usermod,
groupmod -- аналоги linux-версий. Там можно использовать
pw groupmod &lt;group&gt; -m &lt;user&gt;:
-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.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19755</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2004-11-11 15:51:52 +0300</bug_when>
    <thetext>В 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.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19968</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2004-11-19 20:20:46 +0300</bug_when>
    <thetext>Томожу.

gpasswd -a user group
gpasswd -d user group

Пакет shadow-groups.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>