ユーザアカウントの管理
passwdファイル
Linuxをサーバ用途として活用している場合は特に、一つのマシンを複数ユーザで使用することも多いです。
物理的には自分一人で使用する場合にも用途やアプリケーションの仕様として複数ユーザが必要になる場合もあります。
そのため、Linuxを使用する上でユーザの管理というものが必要になってきます。
そのような場合にユーザアカウントの情報を確認する際には「/etc/passwd」を参照します。
-rw-r--r--. 1 root root 1006 11月 23 01:51 /etc/passwd
「/etc/passwd」ファイルは以下のような書式で記述されます。
①ユーザ名
システム内で一意なアカウント名。
例:wantan
②パスワード
暗号化されたパスワード。「x」が入るようです。
例:x
③UID
ユーザIDのこと。rootは必ず0で一般ユーザは1000以上。
例:1000
④GID
グループIDのこと。rootは必ず0で一般ユーザは1000以上。
例:1001
⑤コメント
ユーザの名前などの情報
例:wantan
⑥ホームディレクトリ
ユーザのホームディレクトリ。
例:/home/wantan
⑦デフォルトシェル
そのまま。
例:/bin/bash
パスワードについては「/etc/passwd」では「x」としか記述されていませんが、現在の多くのディストリビューションではシャドウパスワードが使用されており、「/etc/shadow」に暗号化された形で記述されています。
なお、「/etc/shadow」はスーパーユーザ(root)でのみ読み込みが可能になります。
・shadowファイル
----------. 1 root root 734 10月 11 21:46 /etc/shadow
・記述例
wantan:$6$b82.FbuwsCOU1.tC$BP0KBh2Ypj7ixA5lUUAqFigPuqgWQZuICvoUNYuvMibL16TMan7N4
グループアカウントの管理
groupファイル
ユーザが所属するグループはユーザアカウント情報と同様に「/etc/group」ファイルによって管理されます。
-rw-r--r--. 1 root root 572 11月 23 02:08 /etc/group
「/etc/group」ファイル書式
①グループ名
グループの名称。
例:group1
②グループパスワード
グループメンバ用のパスワード。ユーザと同様に「x」が表示される。
例:x
③GID
グループを識別するID。
例:group1
④グループメンバ
グループに所属するメンバ。
例:wantan
ユーザ管理コマンド
useradd
ユーザを追加するコマンド。
基本的にはスーパユーザのみが実行できます。
■オプション
オプション | 説明 |
---|---|
-c | コメントの指定 |
-d | ホームディレクトリの指定 |
-g | プライマリグループの指定 |
-G | サブグループの指定 |
-s | デフォルトシェルの指定 |
-m | ホームディレクトリを自動作成 |
・ホームディレクトリを生成してユーザ作成する
mオプションをつけなくてもディストリビューションによって自動生成されるっぽいですが、明示的につけていた方が安心。
useradd -m testuser2
・プライマリグループに所属させ作成
useradd testuser3 -g group1
■デフォルトファイルの作成
ユーザを作成する際にデフォルトファイルを作成することができます。
デフォルトファイルを作成するには「/etc/skel/」にファイルを格納します。
[root@localhost skel]# ll /etc/skel/ 合計 0 -rw-r--r--. 1 root root 0 11月 20 00:12 test.sh
新規作成したユーザのホームディレクトリにデフォルトファイルが配置されていることが分かります。
[root@localhost skel]# useradd testuser [root@localhost skel]# ll /home/testuser/ 合計 0 -rw-r--r--. 1 testuser testuser 0 11月 20 00:12 test.sh
usermodコマンド
usermodコマンドは既存ユーザに対するユーザ情報の変更を行います。
概ねuseraddと同じ使用感で使用できます。
■オプション
オプション | 説明 |
---|---|
-c | コメントの変更 |
-d | ホームディレクトリの変更 |
-g | プライマリグループの変更 |
-G | サブグループの変更 |
-s | デフォルトシェルの変更 |
-p | パスワードを設定 |
-L | パスワードのロックを行う |
-U | パスワードのロックを解除する |
・ユーザにコメントをつける
usermod -c testcomment testuser
・ユーザのプライマリグループを変更
usermod -g group1 testuser
・パスワードの設定
usermod -p test testuser
・パスワードのロックを解除
usermod -U testuser
userdelコマンド
ユーザの削除を行う。
■オプション
オプション | 説明 |
---|---|
-r | ホームディレクトリも削除 |
・ユーザの削除
ディレクトリも合わせて削除する。
userdel test2 -r
passwdコマンド
パスワードの変更を行うコマンドです。
スーパーユーザ以外は自分自身のパスワードのみが変更可能です。
■オプション
オプション | 説明 |
---|---|
-l | 一時的にロックを行う |
-u | ロックを解除する |
・スーパーユーザが他のユーザのパスワードを変更する
[root@localhost home]# passwd testuser ユーザー testuser のパスワードを変更。 新しいパスワード: 新しいパスワードを再入力してください: passwd: すべての認証トークンが正しく更新できました。
・自身のパスワードを変更する
自身のパスワードを変更する場合は現在のパスワード入力が必要になるようです。
[testuser@localhost home]$ passwd ユーザー testuser のパスワードを変更。 testuser 用にパスワードを変更中 現在の UNIX パスワード: 新しいパスワード: 新しいパスワードを再入力してください: passwd: すべての認証トークンが正しく更新できました
グループ管理コマンド
groupaddコマンド
グループの追加を行います。
・グループの追加
groupadd testg
groupmodコマンド
グループ情報の変更を行うコマンド。
■オプション
オプション | 説明 |
---|---|
-g | GIDの変更 |
-n | グループ名の変更 |
・グループの変更
変更後の名称の方は先に元々の名称を後に記述する点のみ注意。
groupmod -n testg2 testg
groupdelコマンド
そのまま。グループの削除コマンド。
なお、プライマリグループとして所属するユーザが存在する場合には削除できないようです。
groupdel testg2
ーーーーーーーーーーーーーーーーーーーーーーー
・前回(第四回)
www.wantanblog.com
・次回(第六回)
www.wantanblog.com