10.1. ユーザとグループの管理

10.1.1. ユーザアカウント

Linuxは複数のユーザが同時にログインし利用できるシステムとなっている。 またユーザアカウント情報は/etc/passwdファイルに保存される。

/etc/passwdファイル

/etc/passwdファイルは以下のような構成となり、一般ユーザでも読み取り可能。

<ユーザ名>:<暗号化されたパスワード>:<UID>:<GID>:<GECOS(コメント)>:<ホームディレクトリ>:<デフォルトシェル>

デフォルトシェルはログインを想定しない場合/bin/false/sbin/nologinとなる。

/bin/false/sbin/noloin
Telnet接続xx
SSH接続xx
FTP接続xo
SFTP接続xx
シェルの実行xx

/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 UIDUIDの指定
-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 <データベース/キー>