書式
usermod [-c comment] [-d home_dir [-m]][-e expire_date] [-f inactive_time]
[-g initial_group] [-G group [,...]]
[-l login_name] [-p passwd]
[-s shell] [-u uid [-o]] [-L|-U] login
説明
usermod コマンドは、 コマンドライン上での指定によって、 システムアカウントファイルを修正する。 usermod コマンドに指定できるオプションは次の通り。- -c comment
- パスワードファイルのコメントフィールドに与える新しい値。 通常は chfn(1) ユーティリティによって変更される。
- -d home_dir
- 新しいログインディレクトリ。 -m オプションを用いると、 現在のホームディレクトリの中身が新しいホームディレクトリに移動される (後者が存在しない場合は新たに作成される)。
- -e expire_date
- そのユーザアカウントが使用不能になる日付。 日付は YYYY-MM-DD という書式で指定する。
- -f inactive_days
- パスワードの使用期限が切れてからアカウントが永久に使用不能になるまでの日数。 0 にすると、 パスワードの期限が切れると同時にこのアカウントは使用不能になる。 -1 にするとこの機能が無効になる。デフォルト値は -1。
- -g initial_group
-
新たにそのユーザのログイン時初期グループとするグループ名または ID。 グループ名は既に存在していなければならない。 グループ番号は既存のグループを参照していなければならない。 デフォルトのグループ番号は 1。
- -G group,[...]
- ユーザが属する補助グループ (supplementary groups) のリスト。 グループはコンマで区切り、間に空白文字を入れてはならない。 指定できるグループには -g オプションと同様の制限がある。 現在そのユーザが、 新しいリストにないグループのメンバーになっている場合は、 そのグループから削除される。
- -l login_name
- ユーザのログイン名を login から login_name に変更する。 他は何も変更しないので、 おそらく新しいログイン名に合わせて ホームディレクトリの名前を変更する必要があるだろう。
- -p passwd
- crypt(3) の返り値である暗号化パスワード。
- -s shell
- ユーザの新しいログインシェルの名前。 このフィールドを空白にした場合は、 システムがデフォルトのログインシェルを選択する。
- -u uid
- ユーザの ID 番号。 この値は、-o オプションを用いる場合を除き、他と重複してはならない。 また非負値でなくてはならない。 0 から 999 までの値は、通常システムアカウント用に予約されている。 ホームディレクトリ以下の、 そのユーザ所有のすべてのファイルのユーザ ID は、 自動的に新しい値に変更される。 ホームディレクトリ以下にないファイルは手作業で変更しなければならない。
- -L
- ユーザのパスワードをロックする。 これは暗号化されたパスワードの前に '!' を追加し、 実質的にパスワードを無効にする。 このオプションを -p や -U と同時に用いることはできない。
- -U
- ユーザのパスワードをアンロックする。 これは暗号化されたパスワードの先頭の '!' を取り除く。 このオプションを -p や -L と同時に用いることはできない。
警告
usermod は現在ログインしているユーザの名前を変更できない。 このコマンドを使用してユーザの ID 番号を変更する際には、 指定したユーザのプロセスが一つも実行されていないことを 事前に確認しなければならない。 crontab ファイルの所有者は手作業で変更しなければならない。 at ジョブの所有者は手作業で変更しなければならない。 NIS に関する作業は NIS サーバ上で行なわなければならない。ファイル
/etc/passwd - ユーザアカウント情報/etc/shadow - 安全なユーザアカウント情報
/etc/group - グループ情報