10.1. ユーザとグループの管理
10.1.1. ユーザアカウント
Linuxは複数のユーザが同時にログインし利用できるシステムとなっている。
またユーザアカウント情報は/etc/passwdファイルに保存される。
/etc/passwdファイル
/etc/passwdファイルは以下のような構成となり、一般ユーザでも読み取り可能。
<ユーザ名>:<暗号化されたパスワード>:<UID>:<GID>:<GECOS(コメント)>:<ホームディレクトリ>:<デフォルトシェル>デフォルトシェルはログインを想定しない場合/bin/falseや/sbin/nologinとなる。
| /bin/false | /sbin/noloin | |
|---|---|---|
| Telnet接続 | x | x | 
| SSH接続 | x | x | 
| FTP接続 | x | o | 
| SFTP接続 | x | x | 
| シェルの実行 | x | x | 
/etc/shadowファイル
シャドウパスワードが書かれたファイルで、パスワード本体が暗号化されたものが保存されている。 root(とshadowグループ所属者)しか読み取りできない。
10.1.2. グループアカウント
/etc/groupファイル
/etc/groupファイルは以下のような構成となり、グループアカウント情報が保存される。
一般ユーザでも読み取り可能。
<グループ名>:<暗号化されたグループパスワード>:<GID>:<グループメンバー>ユーザーにとって基本となるグループをプライマリグループと呼ばれる。 プライマリグループ以外に参加しているグループはサブグループと呼ばれる。
なおプライマリーグループは/etc/passwdのGIDフィールドで確認できる。
10.1.3. ユーザーとグループの管理のコマンド
useraddコマンド
useraddコマンドはユーザアカウントを作成するコマンド。
useradd <オプション> ユーザー名| オプション | 説明 | 
|---|---|
| -c コメント | ユーザー情報を表すコメントの指定 | 
| -d ディレクトリ名 | ホームディレクトリの指定 | 
| -g グループ名 or GID | プライマリグループの指定 | 
| -G グループ名 or GID | プライマリグループ以外に所属するグループの指定 | 
| -s ログインシェル | ログインシェルの指定 | 
| -u UID | UIDの指定 | 
| -m | ホームディレクトリの自動的な作成 | 
なお作成するホームディレクトリに作成したいファイルのひな形は/etc/skelディレクトリに置くことでホームディレクトリに自動的にコピーされる。
usermodコマンド
既存のユーザアカウント情報を変更できるコマンド。
またユーザーアカウントをロックすることもできる。
ロックは-Lオプション、ロック解除は-Uオプションで可能。
usermod <オプション> <ユーザー名>userdelコマンド
ユーザアカウントを削除できるコマンド。
-rオプションでホームディレクトリも削除できる。
userdel <ユーザ名>passwdコマンド
パスワード変更するコマンド。 一般ユーザは自身のパスワードを変更でき、rootユーザは全てのユーザーのパスワードを変更することができる。 またユーザーアカウントをロックすることもできる。
passwd <ユーザ名>| オプション | 説明 | 
|---|---|
| -l | 指定したユーザーアカウントのロック | 
| -u | 指定したユーザーアカウントのロックを解除 | 
groupaddコマンド
グループを作るコマンド。
groupadd <グループ名>| オプション | 説明 | 
|---|---|
| -g グループID | グループIDの指定 | 
groupmodコマンド
グループ情報変更するコマンド。
groupmod <グループ名>| オプション | 説明 | 
|---|---|
| -g グループID | 指定したグループIDへ変更 | 
| -n グループ名 | 指定したグループ名へ変更 | 
groupdelコマンド
作成済みのグループアカウントを削除するコマンド。 なお削除対象のグループをプライマリグループとするユーザーがいる場合は削除できない。
groupdel <グループ名>idコマンド
ユーザがどのグループに所属しているのか調べられるコマンド。 UID,GUID,サブグループGUIDがわかる。
id <ユーザ名>getentコマンド
ユーザーやグループの一覧を表示するコマンド。 データベースとキーを引数に渡すと管理データベースからエントリを取得できる。
getent <データベース/キー>