- blogs:
- cles::blog

usermod -G でエラい目にあった



usermod で所属グループを追加しようとしたら、思わぬ罠にハマってしまったのでメモ。
普段は vigr とかを使って直接 /etc/group を編集するのですが、ちゃんと usermod を使おうとしたのが失敗でした。
username を補助グループ hoge に追加しようとしたのですが、username が hoge 以外の全ての補助グループから削除されてしまってびっくり。
† man に2つめの罠
ちゃんと man を読んでから操作したはずなので、ちょっとこれは腑に落ちないなと思っていろいろ調べてみると、補助グループを追加したい場合には、以下の Redhat のドキュメントあるように -a オプションをつける必要があるようです。
3.3. コマンドラインツールの使用 - Red Hat Customer Portal
usermod コマンドに関連するオプションもほとんど同じです。ユーザーを別の補助グループに追加する場合は、-a, --append オプションを -G オプションとともに使用する必要があります。このように使用しない場合は、ユーザーの補助グループの一覧が usermod -G コマンドで指定されたもので上書きされます。
ユーザーを myproject グループに追加します。
usermod -aG myproject username
再度 man を確認してみたのですが、そんな記載はなかったので、もしやと思ってロケールを英語にしてみて納得。
この -a オプションの解説が英語の man にしか記載がないことが分かりました。
こういうのたまに当ってしまうことがありますが、無精しないでちゃんと英語の man を確認しないとダメですね。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/10162
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 東海道新幹線の英語の車内アナウンスが車掌の肉声になっていた(3724)
3 . HEIC を JPEG にオンラインで変換する(2681)
4 . BIOS 起動の Windows を UEFI ブートに変換する(2441)
5 . NTTドコモエラー38?(2424)