シェルでユーザの所属グループを設定するコマンドusermodとgpasswdの違い

2023-03-27Linux,Ubuntu

はじめに

以下のサイトでさくら VPS をセットアップしています。

新規作成したユーザーを特定のグループに所属させる場合に usermod コマンドを使ったり、 gpasswd を使ったりとそれぞれのケースが有ったのですが、どう違うのか調べてみました。

※ここでは group1 グループgroup2 グループ がすでに存在しているものとします。

usermod を利用

$ sudo useradd xxxxx

# group1を設定
$ sudo usermod -G group1 xxxxx
$ id xxxxx
uid=1002(xxxxx) gid=1002(xxxxx) groups=1002(xxxxx),1003(group1)

# group2を設定
$ sudo usermod -G group2 xxxxx
$ id xxxxx
uid=1002(xxxxx) gid=1002(xxxxx) groups=1002(xxxxx),1004(group2)

gpasswd を利用

$ sudo useradd xxxxx

# group1を設定
$ sudo gpasswd -a xxxxx group1
Adding user xxxxx to group group1
$ id xxxxx
uid=1002(xxxxx) gid=1002(xxxxx) groups=1002(xxxxx),1003(group1)

# group2を設定
$ sudo gpasswd -a xxxxx group2
Adding user xxxxx to group group2
$ id xxxxx
uid=1002(xxxxx) gid=1002(xxxxx) groups=1002(xxxxx),1003(group1),1004(group2)

まとめ

usermodBash でいうリダイレクト ">" のようにセカンドグループを上書き、 gpasswd は ">>" のようにセカンドグループを追加する。
gpasswd の方が使いやすいです。

2023-03-27Linux,Ubuntu