コマンドラインのマニュアル

Man » usermodオンラインマニュアル - `usermod`マニュアルページの詳細なオンラインドキュメント

🌍
usermod - ユーザーアカウントの変更

SYNOPSIS

usermod [オプション] LOGIN

DESCRIPTION

^ sermodコマンドは、システムのアカウントファイルを変更します。

OPTIONS

^ sermodコマンドに適用されるオプションは次のとおりです。

-a, --append
ユーザーを補足グループに追加します。-Gオプションと一緒に使用してください。

-b, --badname
標準に準拠していない名前を許可します。

-c, --comment COMMENT
`/etc/passwd`内のユーザーのコメントフィールドを更新します。通常は`chfn(1)`ユーティリティを使用して更新します。

-d, --home HOME_DIR
ユーザーの新しいログインディレクトリ。

-mオプションが指定されている場合、現在のホームディレクトリの内容が新しいホームディレクトリに移動され、存在しない場合は作成されます。現在のホームディレクトリが存在しない場合、新しいホームディレクトリは作成されません。

-e, --expiredate EXPIRE_DATE
ユーザーアカウントが無効になる日付を指定します。YYYY-MM-DD形式の日付、または1970-01-01からの日数として指定できます。日付はUTCタイムゾーンで解釈されます。

-1または空の文字列を入力すると、シャドウパスワードファイルのユーザーアカウントの有効期限フィールドがクリアされます。アカウントは有効期限なしで利用可能になります。

このオプションには、`/etc/shadow`ファイルが必要です。`/etc/shadow`ファイルにエントリがない場合、システムは自動的にエントリを作成します。

-f, --inactive INACTIVE
パスワードの有効期限が過ぎた後、ユーザーがパスワードをすぐに変更することでログインできる日数。この期間内にユーザーがパスワードを変更しない場合、アカウントは非アクティブになります。この値は、シャドウパスワードファイルに保存されます。

0を指定すると、パスワードの有効期限が切れたときに、遅延なしでアカウントが無効になります。

-1を指定すると、シャドウパスワードファイルの対応するフィールドがクリアされ、非アクティブ期間が適用されなくなります。

このオプションには、`/etc/shadow`ファイルが必要です。`/etc/shadow`ファイルにエントリがない場合、システムは自動的にエントリを作成します。

-g, --gid GROUP
ユーザーの新しいプライマリーグループの名前または数値ID。グループが存在する必要があります。

ユーザーのホームディレクトリにある、以前のプライマリーグループが所有していたファイルは、この新しいグループが所有します。

ユーザーのホームディレクトリ外のファイルのグループ所有権は、手動で修正する必要があります。

ホームディレクトリの所有者UIDが、現在のユーザーIDまたは新しいユーザーIDと異なる場合、ホームディレクトリ内のファイルのグループ所有権の変更は行われません。これは、`/`などの特殊なホームディレクトリに対する安全策です。

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
ユーザーがメンバーである補足グループのリスト。各グループはカンマで区切られ、間に空白はありません。グループが存在する必要があります。


-U, --unlock

ロックされているユーザーのパスワードのロックを解除します。

-d, --home HOME_DIR
ユーザーのホームディレクトリを変更します。

-D, --defaults
ユーザーのデフォルト値を /etc/default/useradd から読み込み、ユーザー情報を変更します。

-g, --gid GROUP
ユーザーのログイングループ(gid)を変更します。

-G, --groups GROUP1[,GROUP2,...]
ユーザーの追加グループリストを変更します。
このオプションは、ユーザーが現在所属していないグループにのみ追加します。
ユーザーがリストにないグループに現在所属している場合、そのユーザーはそのグループから削除されます。
この動作は、-a オプションで変更できます。このオプションは、現在の補助グループリストにユーザーを追加します。

-l, --login NEW_LOGIN
ユーザーの名前を LOGIN から NEW_LOGIN に変更します。それ以外に変更はありません。
特に、ユーザーのホームディレクトリまたはメールスプールを手動で名前を変更して、新しいログイン名に反映する必要があります。

-L, --lock
ユーザーのパスワードをロックします。これにより、暗号化されたパスワードの前に「!」が追加され、パスワードが無効になります。このオプションを -p または -U と組み合わせて使用することはできません。

注:アカウント(パスワードによるアクセスだけでなく)をロックする場合は、EXPIRE_DATE を 1 に設定する必要があります。

-m, --move-home
ユーザーのホームディレクトリの内容を新しい場所に移動します。現在のホームディレクトリが存在しない場合、新しいホームディレクトリは作成されません。

このオプションは、-d(または --home)オプションと組み合わせてのみ有効です。

usermod は、ファイルの所有権を調整し、モード、ACL、および拡張属性をコピーしようとしますが、その後、手動での変更が必要になる場合があります。

-o, --non-unique
ユーザー ID を一意でない値に変更できるようにします。

このオプションは、-u オプションと組み合わせてのみ有効です。
ユーザー識別子は、一方のユーザーと、他方の手順、ファイル所有権、およびシステムの動作を決定するその他の側面との間のマッピングに使用されるため、複数のログイン名が特定の UID のアカウントにアクセスすることになります。

-p, --password PASSWORD
ユーザーの新しいパスワードを定義します。PASSWORD は、crypt (3) によって返された暗号化されている必要があります。

注:このオプションをコマンドラインで使用するのは避けてください。パスワード(または暗号化されたパスワード)が、プロセスを一覧表示するユーザーに表示されるためです。

パスワードは、ローカルの /etc/passwd または /etc/shadow ファイルに書き込まれます。これは、PAM 構成で設定されているパスワードデータベースとは異なる場合があります。

パスワードがシステムのパスワードポリシーに準拠していることを確認する必要があります。

-r, --remove
名前付きの補助グループからユーザーを削除します。-G オプションと組み合わせてのみ使用します。

-R, --root CHROOT_DIR
CHROOT_DIR ディレクトリで変更を適用し、CHROOT_DIR ディレクトリの構成ファイルを使用します。絶対パスのみがサポートされます。

-P, --prefix PREFIX_DIR
PREFIX_DIR で始まるディレクトリツリー内で変更を適用し、そこにある構成ファイルも使用します。このオプションは chroot しないものであり、クロスコンパイルターゲットの準備を目的としています。いくつかの制限があります。NIS および LDAP ユーザー/グループは検証されません。PAM 認証では、ホストファイルが使用されます。SELINUX はサポートされていません。

-s, --shell SHELL
ユーザーのログインシェルを変更します。SHELL の空の文字列は、/etc/passwd のフィールドを空にし、ユーザーをシステムのデフォルトシェルにログインさせます。

-u, --uid UID
ユーザーIDの新しい値。

この値は一意である必要があります。ただし、-o オプションを使用する場合は除きます。値は非負である必要があります。

ユーザーのメールボックスと、ユーザーが所有し、ユーザーのホームディレクトリに配置されているファイルは、ファイルユーザーIDが自動的に変更されます。

ホームディレクトリ以外のファイルの所有権は、手動で修正する必要があります。

ホームディレクトリ内のファイルのユーザー所有権の変更は、ホームディレクトリの所有者UIDが現在または新しいユーザーIDと異なる場合も行われません。これは、/などの特殊なホームディレクトリに対する安全対策です。

UID\_MIN、UID\_MAX、SYS\_UID\_MIN、または /etc/login.defs の SYS\_UID\_MAX に関するチェックは行われません。

-U, --unlock
ユーザーのパスワードをロック解除します。これにより、暗号化されたパスワードの先頭にある「!」が削除されます。このオプションを -p または -L と組み合わせて使用することはできません。

注:アカウント(パスワードによるアクセスだけでなく)をロック解除する場合は、EXPIRE\_DATE を設定する必要があります(例:99999、または /etc/default/useradd の EXPIRE 値)。

-v, --add-subuids FIRST-LAST
ユーザーアカウントにサブordinate UIDの範囲を追加します。

このオプションは複数回指定して、ユーザーアカウントに複数の範囲を追加できます。

SUB\_UID\_MIN、SUB\_UID\_MAX、または /etc/login.defs の SUB\_UID\_COUNT に関するチェックは行われません。

-V, --del-subuids FIRST-LAST
ユーザーアカウントからサブordinate UIDの範囲を削除します。

このオプションは複数回指定して、ユーザーアカウントから複数の範囲を削除できます。
--del-subuids と --add-subuids の両方が指定されている場合、すべてのサブordinate UID範囲の削除は、いずれかのサブordinate UID範囲が追加される前に発生します。

SUB\_UID\_MIN、SUB\_UID\_MAX、または /etc/login.defs の SUB\_UID\_COUNT に関するチェックは行われません。

-w, --add-subgids FIRST-LAST
ユーザーアカウントにサブordinate GIDの範囲を追加します。

このオプションは複数回指定して、ユーザーアカウントに複数の範囲を追加できます。

SUB\_GID\_MIN、SUB\_GID\_MAX、または /etc/login.defs の SUB\_GID\_COUNT に関するチェックは行われません。

-W, --del-subgids FIRST-LAST
ユーザーアカウントからサブordinate GIDの範囲を削除します。

このオプションは複数回指定して、ユーザーアカウントから複数の範囲を削除できます。
--del-subgids と --add-subgids の両方が指定されている場合、すべてのサブordinate GID範囲の削除は、いずれかのサブordinate GID範囲が追加される前に発生します。

SUB\_GID\_MIN、SUB\_GID\_MAX、または /etc/login.defs の SUB\_GID\_COUNT に関するチェックは行われません。

-Z, --selinux-user SEUSER
LOGINにマッピングされるSELinuxユーザーを定義します。空の文字列("")を指定すると、それぞれのエントリ(存在する場合)が削除されます。ただし、シャドウシステムはselinux-userを保存せず、semanage(8)を使用します。

--selinux-range SERANGE
新しいアカウントのSELinux MLS範囲を定義します。ただし、シャドウシステムはselinux-rangeを保存せず、semanage(8)を使用します。

このオプションは、-Z(または --selinux-user)オプションが指定されている場合にのみ有効です。

注意点

このコマンドを実行する際に、対象ユーザーがプロセスを実行していないことを確認する必要があります。これは、ユーザーの数値ユーザーID、ユーザー名、またはホームディレクトリが変更される場合に特に重要です。usermodはLinux上でこれをチェックします。他のオペレーティングシステムでは、utmpを使用してユーザーがログインしているかどうかのみチェックします。

crontabファイルまたはatジョブの所有者を手動で変更する必要があります。

NISに関連する変更は、NISサーバー上で実行する必要があります。

構成

/etc/login.defs内の以下の構成変数は、このツールの動作を変更します。

LASTLOG_UID_MAX (数値)
lastlogエントリが更新されるべき最大のユーザーID番号です。より高いユーザーIDは通常、リモートユーザーIDおよび認証サービスによって追跡されるため、それらのユーザーに対して巨大なスパースlastlogファイルを作成する必要はありません。

LASTLOG_UID_MAXオプションが構成に存在しない場合、ユーザーIDの制限はなく、lastlogエントリが書き込まれます。

MAIL_DIR (文字列)
メールスプールディレクトリです。これは、対応するユーザーアカウントが変更または削除されたときに、メールボックスを操作するために必要です。指定されていない場合、コンパイル時にデフォルト値が使用されます。/etc/default/useraddのCREATE_MAIL_SPOOLパラメータは、メールスプールを作成するかどうかを決定します。

MAIL_FILE (文字列)
ユーザーのメールスプールファイルの場所を、ユーザーのホームディレクトリに対して相対的に定義します。

MAIL_DIRおよびMAIL_FILE変数は、useradd、usermod、およびuserdelによって、ユーザーのメールスプールを作成、移動、または削除するために使用されます。

MAX_MEMBERS_PER_GROUP (数値)
グループエントリあたりの最大メンバー数です。最大値に達すると、/etc/groupに新しいグループエントリ(同じ名前、同じパスワード、同じGID)が開始されます。

デフォルト値は0で、グループ内のメンバー数の制限がないことを意味します。

この機能(グループの分割)は、/etc/group内の行の長さを制限することを可能にします。これは、NISグループの行が1024文字を超えないようにするために役立ちます。

制限を強制する必要がある場合は、25を使用できます。

注:すべてのツール(Shadowツールスイート内でも)でグループの分割がサポートされているわけではありません。本当に必要な場合にのみ、この変数を使用しないでください。

SUB_GID_MIN (数値), SUB_GID_MAX (数値), SUB_GID_COUNT (数値)
/etc/subuidが存在する場合、useraddおよびnewusersコマンド(ユーザーがすでに従属するグループIDを持っている場合を除く)は、SUB_GID_MINからSUB_GID_MAXの範囲から、新しいユーザーごとに未使用のSUB_GID_COUNT個のグループIDを割り当てます。

SUB_GID_MIN、SUB_GID_MAX、SUB_GID_COUNTのデフォルト値は、それぞれ100000、600100000、および65536です。

SUB_UID_MIN (数値), SUB_UID_MAX (数値), SUB_UID_COUNT (数値)
/etc/subuidが存在する場合、useraddおよびnewusersコマンド(ユーザーがすでに従属するユーザーIDを持っている場合を除く)は、SUB_UID_MINからSUB_UID_MAXの範囲から、新しいユーザーごとに未使用のSUB_UID_COUNT個のユーザーIDを割り当てます。

SUB_UID_MIN、SUB_UID_MAX、SUB_UID_COUNTのデフォルト値は、それぞれ100000、600100000、および65536です。

ファイル

/etc/group
グループアカウント情報

/etc/gshadow
セキュアなグループアカウント情報

/etc/login.defs
シャドウパスワードスイートの設定

/etc/passwd
ユーザーアカウント情報

/etc/shadow
セキュアなユーザーアカウント情報

/etc/subgid
ユーザーごとのサブグループID

/etc/subuid
ユーザーごとのサブユーザーID

関連項目

chfn(1), chsh(1), passwd(1), crypt(3), gpasswd(8), groupadd(8), groupdel(8), groupmod(8), login.defs(5), subgid(5), subuid(5), useradd(8), userdel(8).