[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:03313] Re: why groupname = username?
- From: mkojima@xxxxxxxxxxxx (Motoyasu KOJIMA)
- Subject: [debian-users:03313] Re: why groupname = username?
- Date: Sun, 7 Dec 97 22:59:38 +0900
- X-ml-info: If you have a question, send a mail with the body "# help" (without quotes) to the address debian-users-ctl@debian.or.jp
- X-ml-name: debian-users
- X-mlserver: fml [fml 2.1A#19]; post only from members
- Message-id: <199712071359.WAA29844@xxxxxxxxxxxxxxxxx>
- X-mail-count: 03313
- X-mailer: mnews [version 1.21BETA6] 1997-11/26(Wed)
小島基靖です.
「adduser のユーザー登録で ユーザーと同じ名前のグループ登録をすると
なんのメリットがあるか」 を Q & A 形式でまとめてみました.
# まとめる努力はしたんです時間切れ.もうちょい簡潔にしたいなあ.
結局,マルチユーザーで,ファイルをグループで管理するときに
役に立つということらしいです.
<Q>
なぜ,Debian(or RedHat)で普通に adduser で ユーザー登録すると ユーザー
名と同じグループになるの?
</Q>
<A>
従来は,主にファイル(ディレクトリ)の所有者の許可モードでファイルの
読み込み,書き込み,実行許可の管理をしていました.これを,ファイルの所
属するグループの許可モードでの管理へ移行するための布石の一つです.
だから,そのまま使っていても特に害はありせん.
(RedHat Linuxでは,各ユーザーだけの所属するグループのことを
ユーザープライベートグループ(UPG:User PrivateGroups)と表記しています.)
</A>
<Q>
ファイルを所属グループで管理すると,なんのメリットがあるの?
</Q>
<A>
UNIX のファイルのグループ属性を活かして,グループ別にファイル管理をす
るとき,手間を減らすことができます.
例えば,複数のグループに所属するユーザーは,新規ファイル
の作成時におこなっていた,ファイルの所属グループの変更作業から解放され
ます.ただし,初期設定をきちんとおこなうと必要があります.
1つのグループにしか所属してないユーザーは,特に何も変わりません.
</A>
<Q>
ファイルを所属グループで管理するって,どんな設定をしているの?
</Q>
<A>
ファイル(ディレクトリ)の所属グループとその許可モードを変更します.
これにより,ファイルをグループ単位で管理できます.
このためには,ユーザープライベートグループ(UPG)の設定,umask 002の設定,
ディレクトリへの SGID ビットの付加が必要です.
(従来の UNIXのデフォルトは,ファイルの所有ユーザーの「書き込み許可」
でファイル管理していたため,グループ管理がやりにくかった.)
</A>
<Q>
どうすれば,ファイルを所属グループで管理することができるの?
</Q>
<A>
* 取扱うディレクトリとその下のファイルの所属グループを変える.
* 同じグループのユーザーが書き込みできるように,ディレクトリの設定を
する.
(chmod 2775: ユーザー,グループでの属性の書き込み可,Set GroupID ON.)
* 新規作成したファイルが,同じグループのユーザーからは変更できる
ファイル属性にする. 各ユーザーの設定を umask 002 とするためには,
/etc/profile 又は /etc/cshrc.cshrc で umask 002 を設定する.
* 各ユーザーは,そのユーザーだけが所属するグループ(User Private
Groups)をもつ.ホームディレクトリのグループは,各ユーザーの UPG に
設定する. これは,adduser が自動作成する.
(ホームディレクトリへの他人からの書き込みを防止するため.)
</A>
<Q>
ファイルを所属グループで管理するための具体例は?
</Q>
<A>
以下,
"http://www.redhat.com/support/docs/rhl/RHL-4.2-Users-Guide-HTML/manual/doc072.html"
より抜粋し,訳したもの.
* 例えば,/usr/lib/emacs/site-lisp ディレクトリのファイルを取り扱う人の
グループを作るとする.ユーザーのうち何人かだけは信頼できるとする.
* そんなときは,
chown -R root.emacs /usr/lib/emacs/site-lisp
そして,信頼できる人を グループ emacs へ追加する.
* ユーザーがディレクトリの中にファイルを作ることができるように,
chmod 775 /usr/lib/emacs/site-lisp
* けれども,ユーザーが新規にファイルを作成すると,ファイルはそのユーザー
のデフォルトのグループに所属する.それを防ぐために
chmod 2775 /usr/lib/emacs/site-lisp
これで, /usr/lib/emacs/site-lisp のディレクトリでは,``emacs'' グルー
プに所属した 新規ファイルが作成される.
* けれど,新規ファイルは ``emacs'' グループに所属する他のユーザーにも
編集できるように,ファイルのモードが 664 でなければならない.
だから,デフォルトの umask は 002 にする.
* これで全部うまくいく.もしも,デフォルトグループを ``users'' に設定
したとすると,ホームディレクトリの作ったファイルは,``users''に属
した他の全ての人(たいてい 全員)に書き込み可能になってしまう.
* これを防ぐため,各ユーザーとも``private group'' がデフォルトのグルー
プになっている.
まず,デフォルトを umask 002 とし,ユーザー全員を private group に所
属させることで,簡単にグループ管理ができるし,ユーザーは余計なことを
せずにグループを利用することができる.
グループをつくり,そこへユーザーを登録し,そのグループのディレクトリを
先に書いたように chown と chmod すればよいのです.
</A>
<Q>
なぜ,従来のように全ユーザーが,グループ users にだけ所属していると
だめなのか?
</Q>
<A>
全ユーザーが グループ users にだけ所属している場合,
umask 002 を設定すると,ユーザーのプライベートなファイルも,グループ
users 全員から書き込み可能になってしまいます.
(従来の UNIXの設定では, umask 022 (ユーザーのみ書き込み可)に設定して
回避していた.)
</A>
<Q>
それでも,adduser で 新規ユーザー登録する時,みな共通のグループにしたい.
</Q>
<A>
/etc/adduser.conf で,以下を変更する.
USERGROUPS=no # ユーザー登録時の所属グループを USERS_GID にする.
USERS_GID=100 # USERS_GID の番号の設定
/etc/profile or /etc/cshrc.cshrc で umask 022 を設定する.
</A>
-----
小島基靖 Private E-mail: mkojima@xxxxxxxxxxxx