はじめに
linux で、ユーザーアカウントを作成すると、デフォルトでは同じ名前のグループが作成され、そのグループに所属します。
以前は、みんな users グループに所属したものです。
なぜでしょう?
結論
以前と違って、最近は同じファイルをグループみんなで編集することが増えたからです。
以前は、umask 022
と設定することが一般的でしたが、今は umask 002
と設定されることが多くなりました。
umask とは
umask
とは、ファイルやディレクトリを作成したときのデフォルトのアクセス権を設定するコマンドです。
詳細はググってもらうとして、umask 002
と設定すると、umask 022
と設定した時に比べて、グループの書き込み権限がプラスして付与されます。
グループにデフォルトで書き込み権限を付与することで、アクセス権を変更し忘れてグループの他のメンバーが書き込めない ;_; という事態を回避したのです。
セキュリティは?
デフォルトでグループへの書き込みを許可すると、セキュリティが心配になります。
そこで、グループは、デフォルトでユーザー名と同じグループを作成し、所属するようにしました。
グループでの書き込みがしたくなったら?
ユーザーは、複数のグループに所属することができます。グループによる管理が必要になったら、groupadd
コマンドでグループを作成して、作成したグループにユーザーを追加すればよいです。umask 002
により、ファイルやディレクトリには、元からグループへの書き込み権が設定されています。あとは所有グループを、作成したグループに変えるだけで、グループでの書き込みができるようになります。
つまり違いは?
グループによるアクセス権の設定が、柔軟にできます。
所属グループが変更になった場合にも対処できます。
どこで設定されているの?
/etc/bashrc に、以下の記述があります。
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
ユーザーID が 200 以上で、ユーザー名とグループ名が同じユーザーは、umask が 002 になります。
まとめ
RHEL 的には、ユーザープライベートグループ というようです。
疑問に思ってた方の参考になれば幸いです。