====== Linux ユーザー・グループ管理 ======
===== 新規ユーザーの作成 =====
==== useradd / passwd コマンド ====
ユーザーを追加する。\\
$ sudo useradd hogeuser
追加した新規ユーザーのパスワードをする。\\
$ sudo passwd hogeuser
ユーザー hogeuser のパスワードを変更。
新しいパスワード: ******** <- パスワードを入力
新しいパスワードを再入力してください: ******** <- パスワードを再入力
passwd: 全ての認証トークンが正しく更新できました。
==== adduser / gpasswd コマンド ====
ユーザーを追加する。\\
$ sudo adduser hogeuser
===== グループの作成 =====
$ sudo groupadd wwwusers
===== ホームディレクトリを指定する場合 =====
$ sudo useradd -d /var/www/username username
===== UID、GIDを指定してユーザー、グループを作成 =====
$ sudo groupadd -g 5000 hogegroup
$ sudo useradd -u 5000 -g hogegroup hogename
===== ユーザーを管理者グループに所属させる場合 =====
$ sudo gpasswd -a username wheel
===== ユーザーをグループに所属させる =====
- UID、GID、グループの所属状況を確認する。
$ sudo id -a hogeuser
uid=503(hogeuser) gid=503(hogeuser) 所属グループ=503(hogeuser)
- ユーザーをグループに所属させる。
$ sudo usermod -G wwwusers hogeuser
※複数グループに所属させる場合は以下のように','で区切って複数指定する。
$ sudo usermod -G wwwusers,grp2users,grp3users hogeuser
- ユーザーが指定したグループに所属していることを確認する。
$ sudo id -a hogeuser
uid=503(hogeuser) gid=503(hogeuser) 所属グループ=503(hogeuser),504(wwwusers)
===== ファイルやフォルダのグループを変更する =====
- ファイルやフォルダのグループを変更する。
$ sudo chgrp wwwusers /var/www/public_html
- 必要に応じてグループのパーミッションも変更する。
$ sudo chmod 775 /var/www/public_html
===== ユーザーの削除 =====
ユーザーとホームディレクトリの削除を行う。
$ sudo userdel -r hogeuser
===== グループの削除 =====
以下のコマンドを実行して、不要グループの削除を行う。
$ sudo groupdel wwwusers
===== /etc/passwd ファイルの形式 =====
このファイルにはプログラムなどから参照するためのユーザー情報が格納されている。
$ cat /etc/passwd
〜省略〜
hogeuser:x:503:503:hoge comment:/home/hogeuser:/bin/bash
^データ|hogeuser:|x:|503:|503:|hoge comment:|/home/hogeuser:|/bin/bash|
^説明|ユーザー名\\ *1 |パスワード\\ *2 |ユーザーID\\ (UID) *3 |プライマリ\\ グループID(GID) *4 |ユーザーID\\ 情報 *5 |ホーム\\ ディレクトリ *6 |シェル/\\ コマンド *7 |
*1 システムにログインするときにユーザーが入力する名前。\\
*2 シャドーパスワードを利用している場合は x が設定され、暗号化されたパスワードが /etc/shadow に格納される。\\
*3 各ユーザーにはユーザーID(UID)を割り当てる必要がある。\\
アクセス権を確定するときに OS やプログラムなどで使用されます。\\
UID 0 は root 用に、1〜99はその他の定義済みアカウント用に予約されている。\\
*4 プライマリ グループID(GID)を設定する。(/etc/group に定義済みのGID)\\
*5 コメント列。ユーザーのフルネームや電話番号などの追加情報を格納する。fingerコマンドがこのフィールドを利用する。\\
*6 ユーザーのログイン直後の初期ディレクトリを絶対パスで設定する。\\
*7 /bin/bash などシェルの絶対パスを設定する。シェルである必要はなく通常のコマンドでも良い。\\
\\
**参考文献**\\
[[http://www.cyberciti.biz/faq/understanding-etcpasswd-file-format/|Understanding /etc/passwd File Format]]\\
[[http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-ja-4/s1-acctsgrps-rhlspec.html|Red Hat Enterprise Linux 固有の情報]]\\
===== /etc/group ファイルの形式 =====
このファイルにはプログラムなどから参照するためのグループ情報が格納されている。
$ cat /etc/group
〜省略〜
hogeuser:x:503:jiro,goro
^データ|hogeuser:|x:|503:|jiro,goro|
^説明|グループ名\\ *1 |パスワード\\ *2 |グループID\\ (GID)*3 |グループ\\ リスト *4 |
*1 ls コマンドを実行した際に、そのグループ列に表示される。\\
*2 シャドーパスワードを利用している場合は x が設定され、暗号化されたパスワードが /etc/gshadow に格納される。\\
*3 各グループにはグループID(GID)を割り当てる必要がある。\\
アクセス権を確定するときに OS やプログラムなどで使用されます。\\
*4 グループのメンバーであるユーザー名のリストをカンマ区切りで設定する。\\
\\
**参考文献**\\
[[http://www.cyberciti.biz/faq/understanding-etcgroup-file/|Understanding /etc/group File]]\\
[[http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-ja-4/s1-acctsgrps-rhlspec.html|Red Hat Enterprise Linux 固有の情報]]\\