Section Next | Prev


1.2 ユーザ管理

ユーザアカウントの作成と削除、またユーザの所属するグループの定義を行います。

ユーザの追加

ユーザを追加するには useradd(8) コマンドを用います、
	useradd ユーザ名
また作成しただけではパスワードが設定されず、ログインできない状態になっています。 あわせてパスワードの付与も行います。
	# useradd tanaka	# ユーザ作成
	# passwd tanaka		# パスワード付与
	Changing password for user tanaka.
	New UNIX password:*****
	BAD PASSWORD: it is based on a dictionary word	# パスワードが簡単な場合警告が表示される
	Retype new UNIX password: *****
	passwd:  *****

	# id tanaka
	uid=514(tanaka) gid=514(tanaka) 所属グループ=514(tanaka)

useradd(8) はユーザの情報を passwd(5) ファイルに追記し、 ホームディレクトリを作成します。

ユーザの削除

ユーザの削除は userdel を用います。-r オプションをつけるとホームディレクトリもあわせて削除します。
	userdel [-r] ユーザ名
以下の例は、userdel(8) を使って、ユーザ情報のみを削除し、 その後でホームディレクトリを削除しています。
	# userdel yamada
	# ls /home
	student		tanaka 		yamada	
	# rm -rf /home/yamada
実際の運用ではこのようにユーザを削除すると、後日の復活や過去に作成したデータ との不整合を起こす可能性があるので無効化する方がよいでしょう。

ユーザ情報

UNIX/Linux では /etc/passwd ファイルにユーザ情報が記録されます。
	$ tail /etc/passwd
	squid:x:23:23::/var/spool/squid:/sbin/nologin
	student:x:512:512::/home/student:/bin/bash
	yamada:x:513:513::/home/yamada:/bin/bash
	tanaka:x:514:514::/home/tanaka:/bin/bash
このファイルは1行1ユーザで、コロン(:)で区切って複数の情報をもちます。
#項目名意味
1ユーザ名ログイン時のユーザ名
2パスワード古いシステムでは暗号化されたパスワード
3UIDユーザを識別するための一意の整数。ユーザID=0〜4294967295 で、0は特権ユーザ
4GID初期グループID
5GECOS領域氏名、連絡先などの補足情報。 tips.
6ホームディレクトリ特に指定しないと useradd(8) では /home/ユーザ名 が採用される。
7ログインシェルログイン直後に起動されるシェル。/etc/shells にあるコマンドの利用を推奨。

実際のパスワードは、/etc/shadow ファイルに書き込まれますが、 このファイルは /etc/passwd と違い、権限ユーザのみアクセスできるよう 制限がかかっています。
	# tail /etc/shadow
	postgres:!!:13496:0:99999:7:::
	squid:!!:13496:0:99999:7:::
	student:$1$0ZvYF4Rb$whoqLNpExDOauzD5ZXPyh.:13496:0:99999:7:::
	ycos:$1$zgfJPFj8$S1DSFBGsZteRYJaGEBLRS1:13496:0:99999:7:::
	ntp:!!:13870::::::
	tanaka:$1$I2J./zUq$1y.PTnC45TzsR6Q9NlBiA1:13954:0:99999:7:::
#項目名意味
1ユーザ名ログイン時のユーザ名
2パスワード暗号化されたパスワード
3パスワード更新日1970年1月1日から起算した日数
4パスワード修正不能期間パスワードが変更可となるまでの日数
5パスワード有効期限パスワード有効日までの日数
6パスワード変更告知期間パスワード有効期限が来ることをユーザに警告する日数
7パスワード無効猶予期間有効期限が過ぎアカウントが使用不能になる迄の日数
8アカウント失効期日アカウントが使用不能になる日までの日数(3と同様)
9予備

ユーザの修正

ユーザ情報を修正するには usermod(8) を用います、オプションの多くは useradd(8) に準拠しますが、特に一時的なユーザの無効化には以下の手順を用います。

  1. ログインの無効化
    -L (Lock) オプションを使って、ログインできないようパスワードを無効化
    (実際には /etc/shadow ファイルのパスワード領域の先頭に ! が追加される)

  2. シェルの無効化
    -s (shell) オプションを使って、シェルを /sbin/nologin に修正
	# 無効化
	# usermod -L student
	# usermod -s /sbin/nologin student

	# このユーザが利用できないことを確認
	# su student
	This account is currently not available.

	# 無効化解除
	# usermod -U student
	# usermod -s /bin/bash student

コマンドの要約

useradd / usermod [オプション] ユーザ名
useradd はユーザの新規追加
usermod は既存ユーザの変更

userdel [-r] ユーザ名
-r オプションは、ホームディレクトリ下のファイルも合わせて削除。

Section Next | Prev

Copyright 2008 ycosSystems Standalone/UserMaint.html