turtlechanのブログ

無知の私がLinuxをいじりながら書いていくブログ

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 指定したユーザーのホームディレクトリも削除

おわりに

アカウントの有効期限・期限切れ・ロック、パスワードの有効期限・期限切れ・猶予期間などたくさんあるのね。使ったことないのばかりなのでぼちぼち試して見ようと思います。

この記事はまだ未完成です。