usermod
は、ユーザーのログイン情報を変更できるコマンドラインユーティリティです。
この記事では、 usermod
の使用方法について説明します。 ユーザーをグループに追加したり、ユーザーシェル、ログイン名、ホームディレクトリなどを変更したりするコマンド。
usermod
コマンド#
usermod
の構文 コマンドの形式は次のとおりです。
usermod [options] USER
rootまたはsudo
を持つユーザーのみ アクセスはusermod
を呼び出すことができます ユーザーアカウントを変更します。成功すると、コマンドは出力を表示しません。
ユーザーをグループに追加する#
usermod
の最も一般的な使用例 グループにユーザーを追加しています。
既存のユーザーをセカンダリグループに追加するには、 -a -G
を使用します オプションは、グループの名前とユーザー名の後に続きます:
usermod -a -G GROUP USER
ユーザーを一度に複数のグループに追加する場合は、 -G
の後にグループを指定します 、
で区切られたオプション (カンマ)空白が介在しない。
たとえば、ユーザーを追加するには linuxize
ゲーム
へ グループの場合、次のコマンドを実行します:
sudo usermod -a -G games linuxize
常に-a
を使用してください (追加)ユーザーを新しいグループに追加するときのオプション。 -a
を省略した場合 オプションの場合、ユーザーは -G
の後にリストされていないグループから削除されます オプション。
ユーザーまたはグループが存在しない場合、コマンドは警告を表示します。
ユーザーのプライマリグループを変更するには、 usermod
を呼び出します -g
によるコマンド オプションは、グループの名前とユーザー名の後に続きます:
sudo usermod -g GROUP USER
次の例では、ユーザー linuxize
のプライマリグループを変更しています。 開発者
へ :
usermod -g developers linuxize
各ユーザーは、正確に1つのプライマリグループと0個以上のセカンダリグループに属することができます。
ユーザー情報の変更#
GECOS(ユーザーのフルネーム)情報を変更するには、 -c
を指定してコマンドを実行します。 オプションの後に新しいコメントとユーザー名が続きます:
usermod -c "GECOS Comment" USER
linuxizeユーザーに追加情報を追加する方法を示す例を次に示します。
usermod -c "Test User" linuxize
この情報は/etc / passwd
に保存されます ファイル。
ほとんどのLinuxシステムでは、ユーザーのホームディレクトリはユーザーの名前にちなんで名付けられ、 / home
の下に作成されます。 ディレクトリ。
何らかの理由でユーザーのホームディレクトリを変更する場合は、 usermod
を呼び出します。 -d
によるコマンド オプションは、新しいホームディレクトリの絶対パスとユーザーの名前に従いました:
usermod -d HOME_DIR USER
デフォルトでは、このコマンドはユーザーのホームディレクトリのコンテンツを新しいディレクトリに移動しません。コンテンツを移動するには、 -m
を使用します オプション。新しいディレクトリがまだ存在しない場合は、次のように作成されます。
usermod -d HOME_DIR -m USER
これは、ユーザー www-data
のホームディレクトリを変更する方法を示す例です。 / var / www
へ :
usermod -d /var/www www-data
ユーザーのデフォルトシェルの変更#
デフォルトのシェルは、システムにログインした後に実行されるシェルです。デフォルトでは、ほとんどのLinuxシステムでは、デフォルトのシェルはBashシェルに設定されています。
ユーザーのデフォルトシェルを変更するには、 -s
を指定してコマンドを実行します オプションは、シェルの絶対パスとユーザーの名前に従いました:
usermod -s SHELL USER
以下の例では、ユーザーシェルをZshに変更しています:
sudo usermod -s /usr/bin/zsh linuxize
/ etc / shells
を表示すると、システムで使用できるシェルを確認できます。 ファイルの内容。
UID(ユーザーID)は、各ユーザーに割り当てられた番号です。オペレーティングシステムがユーザーを参照するために使用します。
ユーザーUIDを変更するには、 -u
を使用してコマンドを呼び出します。 オプションは、新しいUIDとユーザー名の後に続きます:
usermod -u UID USER
以下の例は、「UID」番号を「1050」に変更する方法を示しています。
sudo usermod -u 1050 linuxize
ユーザーが所有し、ユーザーのホームディレクトリにあるファイルのUID。ユーザーのメールボックスファイルは自動的に変更されます。他のすべてのファイルの所有権は手動で変更する必要があります。
それほど頻繁ではありませんが、既存のユーザーの名前を変更したい場合があります。 -l </ code> オプションはユーザー名を変更するために使用されます:
usermod -l NEW_USER USER
以下の例では、ユーザーの名前を linuxize
に変更しています。 lisa
へ 「1050」へ:
sudo usermod -l linuxize lisa
ユーザー名を変更するときは、新しいユーザー名を反映するようにユーザーのホームディレクトリを変更することもできます。
有効期限は、ユーザーアカウントが無効になる日付です。ユーザーの有効期限を設定するには、 -e
を使用します オプション:
sudo usermod -e DATE USER
有効期限は、 YYYY-MM-DD
の形式を使用して設定する必要があります 。
たとえば、ユーザーを無効にするには linuxize
2022-02-21
に 、次のコマンドを実行します:
sudo usermod -e "2022-02-21" linuxize
アカウントの有効期限を無効にするには、空の有効期限を設定します:
sudo usermod -e "" linuxize
chage -l
を使用します ユーザーの有効期限を表示するコマンド:
sudo chage -l linuxize
Last password change : Jul 24, 2018
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
有効期限は/etc / shadow
に保存されます ファイル。
ユーザーアカウントのロックとロック解除#
-L
オプションを使用すると、ユーザーアカウントをロックできます:
usermod -L USER
コマンドは感嘆符(!
)を挿入します )暗号化されたパスワードの前にマークを付けます。 / etc / shadow
のパスワードフィールドの場合 ファイルに感嘆符が含まれている場合、ユーザーはパスワード認証を使用してシステムにログインできなくなります。キーベースの認証やユーザーへの切り替えなど、他のログイン方法は引き続き許可されます。アカウントをロックしてすべてのログイン方法を無効にする場合は、有効期限も1に設定する必要があります。
次の例は、ユーザーをロックする方法を示しています linuxize
:
sudo usermod -L linuxize
sudo usermod -L -e 1 linuxize
ユーザーのロックを解除するには、 usermod
を実行します -U
を使用 オプション:
usermod -U USER
結論#
usermod
の使用方法を説明しました ユーザーアカウント情報を設定するコマンド。
ご不明な点がございましたら、お気軽にコメントをお寄せください。