[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