ユーザの登録・変更・削除
ユーザの情報
ユーザの情報は/etc配下にある、passwd、shadow、group、gshadow、これらのファイルに記載されている。
passwdファイルの内容
ユーザのパスワードが格納されている。
システムのユーザであれば、誰でも確認可能。
/etc/passwdには6つの「:」で区切られた7つのフィールドから構成される行が追加される。
第1フィールド:ログイン名
第2フィールド:xまたは暗号化パスワード:ユーザID(shadowを使う場合は「x」、使わない場合は「暗号化パスワード」)
第3フィールド:ユーザID
第4フィールド:グループID
第5フィールド:コメント
第6フィールド:ホームディレクトリ
第7フィールド:ログインシェル
shadowファイルの内容
シャドウパスワードの仕組みで利用されている。
シャドウパスワードとはパスワードのデータを一般ユーザから見えないようにするための仕組み。
第1フィールド:ログイン名
第2フィールド:暗号化されたパスワード
第3フィールド:パスワードの変更最終日
第4フィールド:変更可能最短期間
第5フィールド:未変更可能最長期間
第6フィールド:未変更時警告日
第7フィールド:ログインしない場合に無効になる日数
第8フィールド:アカウントが失効になるまでの日数
第9フィールド:フラグ
useraddコマンド
useradd [オプション] [ユーザ名]
オプション | 説明 |
---|---|
-c コメント | コメントの指定 |
-d ディレクトリパス | ホームディレクトリの指定 |
-e 失効日 | アカウント失効日の指定。
フォーマット:YYY-MM-DD(2022-12-31) |
-f 日数 | パスワードが失効してからアカウントが使えなくなるまでの日数 |
-g groupID | 1次グループの指定 |
-G groupID | 2次グループの指定 |
-k skel | skelディレクトリの指定 |
-m | ホームディレクトリを作成する。
/etc/login.defsで設定されていればなしでも作られる。 |
-M | ホームディレクトリを作成しない。 |
-s シェルのパス | ログインシェルの設定 |
-u UIDの指定 | UIDの指定 |
-D | デフォルト値の表示あるいは設定 |
新規ユーザを登録するには管理者が実行する必要がある。
オプションなしに実行した場合、/etc/default/useraddに記載されている設定が適応される。
項目 | 説明 |
---|---|
GROUP | |
HOME | 指定されたディレクトリの下にユーザ名のディレクトリを作成し、ホームディレクトリとする。 |
INACTIVE | パスワードが失効してからアカウントが使えなくなるまでの日数。「-1」は無期限の意味。 |
EXPIRE | アカウント失効日。値がない場合は無期限。 |
SHELL | ログインシェル |
SKEL | 新規ユーザのホームディレクトリのテンプレート。/etc/skelのコピーが新規ユーザのホームディレクトリに作成される。 |
CREATE_MAIL_SPOOL | /var/spool/mail/に新規ユーザ用のメール保存ファイルが作成される。 |
また、/etc/skelディレクトリ配下にあるファイルとディレクトリはuseraddコマンドを実行した時に自動的にユーザのホームディレクトリにコピーされる。
passwdコマンド
passwd [オプション] [ユーザ名]
オプション | 説明 | ユーザ |
---|---|---|
-d | パスワードを期限切れにする
期限切れにされたユーザは次回ログイン時にパスワードの設定が必要 |
一般ユーザ・root |
-e | パスワードを削除 | root |
-i 日数 | パスワードの有効期限が切れてから使用不能になるまでの日数を指定 | root |
-l | ユーザのアカウントをロック | root |
-n 日数 | パスワード変更が可能になる最小日数を指定 | root |
-u | ユーザのアカウントロックを解除 | root |
-w 日数 | パスワードの期限切れになる何日前から警告文を出すか指定 | root |
-x 日数 | パスワード変更の最大日数を指定 | root |
パスワードの設定をするコマンド。
rootはユーザ名を指定してパスワードを変更することができるが、一般ユーザは自分のパスワードのみ。
userdelコマンド
userdel [オプション] [ユーザ名]
オプションrを付けて実行するとホームディレクトリも同時に削除する。
デフォルト実行すると/etc/passwdと/etc/shadowのエントリのみ削除されホームディレクトリは削除されない。
usermodコマンド
usermod [オプション] [ユーザ名]
オプション | 説明 |
---|---|
-l 名前 | ログイン名の変更 |
-d ホームディレクトリのパス | ホームディレクトリの変更 |
-g groupID | 1次グループの変更 |
-G | 2次グループの変更 |
-s シェルのパス | ログインシェルの変更 |
ユーザ情報を変更するためのコマンド。
usermod -l 新ログイン名 旧ログイン名
とすることでログイン名の変更可能。
まとめ
ユーザの登録・変更・削除の方法について記載しました。
パスワードの管理も重要なことなので管理者はこんなのあったなぐらいに覚えていれば、引き出すことができるかもしれません。