あるuser
をサブグループhoge
に追加したい時にusermod
コマンドで追加するときの注意点
単純に
# usermod -G hoge user
とすると、元々user
が所属していたグループにhoge
を追加するのではなく、hoge
のみがuser
が所属するグループになる。
もしadminユーザーなどでこれを行ってしまうと、sudo
できるユーザーがいなくなりたいへんなことに。
usermod
コマンドで追加したいときは、-G
オプションで所属させたいすべてのグループを列挙するか、さらに-a
オプションを追加する。
# usermod -aG hoge user
もしくはgpasswd
コマンドも使える。
# gpasswd -a user hoge
usermod
コマンドとはuserとgroupの引数の順番が逆なのに注意。
間違って-Gオプションのみで実行してしまったときの復旧方法
groupの設定は、/etc/group
に記述されており、一世代前の設定は末尾に-
をつけたファイル、/etc/group-
としてバックアップが自動的に取られている。これを/etc/group
として上書きしなおせば復旧可能。
ただし、/etc/group-
はパーミッションが600になっているのに対して、/etc/group
は644なので、パーミッションに注意する。600のままだとroot以外の一般ユーザーでgroups
コマンドを実行すると設定が読み込めず、グループ名がみつからないといったエラーになるので注意。
# mv /etc/group- /etc/group
# chmod 644 /etc/group