Linuxのユーザー管理
私はLinuxをデスクトップ用途で個人利用してるから使う機会は少ないが、勉強がてらまとめてみる。
ユーザーの種類
Linuxのユーザーは、3種類に分けられている。
- 管理者ユーザー(root)
- システムユーザー
- 一般ユーザー
- 管理者ユーザー(root)
- 管理者権限のユーザー。rootとかスーパーユーザーなどと言われる。すべての権限を持っており、何でもあり。ユーザー番号(UID)は0で固定されている。端末では「#」で表される。
- システムユーザー
- システム運用用のユーザー。Linux上のソフトを運用するために使用されている特殊なユーザー。ログインして使用するユーザーではない。各々のソフトに適切な権限を持たせるために存在している(セキュリティ確保)。
- 一般ユーザー
- Linuxを普段使いするためのユーザー。ネットサーフィンしたりメールチェックしたりするユーザー。通常、ユーザー番号(UID)は1000以降。端末では「$」で表される。
管理者ユーザー(root) ログイン・ログアウト
ユーザーの管理は管理者ユーザー(root)で行う。どのユーザーからでもイジれたらイタズラし放題ですもんね。
一般ユーザーから管理者ユーザー(root)に切り替え
「su」コマンドで管理者ユーザー(root)にログインします。
$ su -
パスワード:
#
パスワードを求められるのでOSインストール時に設定したrootのパスワードを入力してEnter(入力した文字は表示されないが入力されています)。端末の表示が「$」から「#」に変わります。
目的の事がすんだら忘れずに管理者ユーザー(root)からログアウトしてください。
管理者ユーザー(root)から一般ユーザーに切り替え
「exit」コマンドで管理者ユーザー(root)からログアウトします。。
# exit
ログアウト
$
端末の表示が「#」から「$」に変わります。
ユーザーの追加(作成)
「useradd」コマンドでユーザーの追加(作成)ができます。
コマンド | 説明 |
---|---|
useradd [オプション] ユーザー名 | 指定したユーザー名のユーザーを追加(作成) |
オプション | 説明 |
---|---|
-c コメント | 作成するユーザーに関するコメントを指定 |
-d ディレクトリのパス | 作成するユーザーのホームディレクトリを指定 |
-e 日付 | アカウントの失効日を指定、一時的なユーザーを作成する場合に使用 日付の書式はyyyy-mm-dd |
-f 日数 | パスワードの期限が切れ後、ユーザーが使用不能になるまでの日数を指定 |
-g グループID(名) | 作成するユーザーがメインで所属するグループID(名)を指定(プライマリグループ) |
-G グループID(名) | 作成するユーザーがサブで所属するグループID(名)を指定(セカンダリグループ) カンマで区切り複数指定可能 |
-p 暗号化済パスワード | crypt関数で暗号化したパスワードを指定 |
-s シェルのパス | ユーザーのログインシェルを指定 |
-u ユーザーID | ユーザーIDを指定 |
パスワードの設定
「passwd」コマンドでパスワードの設定ができます。
useraddコマンドの-pオプションでもパスワードを指定できるが暗号化済のパスワードを入力しなければならないため、ユーザーを作成後にpasswdコマンドで設定するのが良い。
また、パスワードを設定していないアカウントにはログインできないためユーザーを作成したら必ずpasswdコマンドと思ってていい。
コマンド | 説明 |
---|---|
passwd [オプション] ユーザー名 | 指定したユーザーのパスワードを設定 |
オプション | 説明 |
---|---|
-d | パスワードを削除 |
-e | パスワードを期限切れにする ※次回ログイン時パスワードの変更を促す |
-l | 指定したユーザーをロック |
-u | 指定したユーザーのロックを解除 |
-S | パスワードの状態を表示 |
-n 日数 | パスワード変更後、再変更可能にするまでの日数を指定 |
-x 日数 | パスワードの有効期間を指定 |
-w 日数 | パスワードの期限切れの警告を表示する期間を指定 |
-i 日数 | パスワードの期限切れ後、パスワードを無効にするまでの猶予期間を指定 |
ユーザーの変更
「usermod」コマンドでユーザー情報の変更ができます。
コマンド | 説明 |
---|---|
usermod [オプション] ユーザー名 | 指定したユーザーの情報を変更 |
オプション | 説明 |
---|---|
-c コメント | ユーザーに関するコメントを変更 |
-d ディレクトリのパス | ホームディレクトリを変更 |
-e 日付 | アカウントの失効日を変更 日付の書式はyyyy-mm-dd |
-f 日数 | パスワードの期限切れ後、パスワードを無効にするまでの猶予期間を変更 |
-g グループID(名) | プライマリグループを変更 |
-G グループID(名) | セカンダリグループを変更(上書き) カンマで区切り複数指定可能 |
-l 新ログイン名 | ログイン名(ユーザー名)を変更 |
-p 暗号化済パスワード | パスワードを変更 crypt関数で暗号化したパスワードを指定 |
-s シェルのパス | ログインシェルを変更 |
-u ユーザーID | ユーザーIDを変更 |
-L | ユーザーをロック |
-U | ユーザーのロックを解除 |
-a | セカンダリグループを追加(-Gオプション指定時) |
-m | ホームディレクトリの内容を移動(-dオプション指定時) |
-o | ユーザーIDの重複を許可(-uオプション指定時) |
ユーザーの削除
「userdel」コマンドでユーザーの削除ができます。
userdelコマンドを-rオプション無しで実行した場合、そのユーザーのホームディレクトリは残る。
コマンド | 説明 |
---|---|
userdel [オプション] ユーザー名 | 指定したユーザーを削除 |
オプション | 説明 |
---|---|
-r | 指定したユーザーのホームディレクトリも削除 |
おわりに
アカウントの有効期限・期限切れ・ロック、パスワードの有効期限・期限切れ・猶予期間などたくさんあるのね。使ったことないのばかりなのでぼちぼち試して見ようと思います。
この記事はまだ未完成です。