LinuxでUsermodコマンドを使用する方法

Linuxシステムでのusermodコマンドの使用に関する詳細なガイドとさまざまな例

The usermod commandは、Linuxシステムが提供するすべてのユーザーアカウント変更ユーティリティの中で最も堅牢なコマンドです。これは、ユーザーが既存のユーザーアカウントに変更を加えるためのスペースを提供します。

Usermodは、Linuxシステム上の既存のユーザーのプロパティを変更するのに役立ちます。これらのプロパティには、パスワード、ログイン名、ログインディレクトリ、有効期限、ユーザーIDの変更などのパラメータが含まれる場合があります。

コマンドラインからすべてのユーザーアカウントの詳細を管理することはかなり簡単な作業ですが、誰もがそうするためのコマンドを知っているわけではありません。考えられるすべてのシナリオについて説明します usermod Linux環境で。

ノート: 実行するには usermod コマンドはrootユーザーである必要がありますまたはあなたが持っている必要があります sudo アクセス。

ユーザーの詳細を含むファイル

あなたが使用しようとしているように usermod コマンドでは、作業に必要なファイルを知っておくことが非常に重要です。これらのファイルには、システムに存在するユーザーアカウントに関連するすべての情報が含まれています。

ファイル説明
/ etc / passwdユーザーに関するいくつかの情報が含まれています
/ etc / groupシステムで使用される各グループに関する情報が含まれています
/ etc / gshadow安全なグループアカウント情報が含まれています
/etc/login.defsシャドウパスワードスイートのサイト固有の設定を定義します。
/ etc / shadow暗号化されたパスワードと、アカウントやパスワードの有効期限の値などの他の情報が含まれます

Usermodコマンドの基本構文

使用する構文 usermod コマンドは本質的にかなり基本的なものです。重要なことは、このコマンドを実行するためのオプションを知ることです。

構文:

usermod [オプション]ユーザー名 

オプション:

オプション使用法
-lユーザーの名前を変更する
-d既存のユーザーアカウントのホームディレクトリを変更します
-Lパスワードを無効にしてユーザーアカウントをロックする
-Uパスワードロックのロックを解除する
-mユーザーの既存のホームディレクトリから新しいディレクトリの場所にコンテンツを移動します
-u既存ユーザーのユーザーIDを変更する
-gユーザーのグループを変更する
-Gユーザーがメンバーでもある補足グループのリスト。
-s新しいアカウントのシェルを作成する
-eユーザーアカウントの有効期限を変更します

Usermodコマンドのアプリケーション

上記の表に記載されているように、 usermod コマンドは、ユーザーアカウント情報に関連する属性を操作するために、さまざまなオプションとともに使用されます。

以下の例に従って、 usermod ユーザーアカウントとその属性の操作を含むタスクのコマンド。

ユーザー名の変更

ユーザーの名前は個人的な選択であり、ユーザーがそう感じたときにいつでも変更できます。 Linuxシステムの既存のユーザーのユーザーログイン名は、コマンドラインおよび[設定]のGUIから変更できます。以下のコマンドに従って、コマンドラインから usermod 指図。

構文:

usermod -l [新しいユーザー名] [既存のユーザー名]

例:

sudo usermod -lbatman一時的

出力:

ユーザー名の変更を確認するには、 id [ユーザー] コマンドコマンド。

gaurav @ ubuntu:〜$ id batman uid = 1002(batman)gid = 1002(temporary)groups = 1002(temporary)gaurav @ ubuntu:〜$ idtemporary id: ‘temporary’:no such user gaurav @ ubuntu:〜$

上記の出力では、ユーザー名「temporary」が新しいユーザー名「batman」に変更されていることは明らかです。

既存のユーザーのプライマリグループを変更する

Linuxエコシステムでは、コンピューターシステムユーザーの集まりは「グループ」と呼ばれます。 「グループ」を持つ主な目的は、グループのユーザー内の共有リソースに関して特定の特権(読み取り、書き込み、実行)を定義することです。通常、ユーザーのプライマリグループは、ユーザー名と同じ名前です。

usermod、ユーザーのプライマリグループを変更して、ユーザーを別のグループに追加できます。

を使用して、システム上のグループを確認できます。 グループ 指図。

gaurav @ ubuntu:〜$グループgaurav adm cdrom sudo dip plugindev lpadmin sambashare gaurav @ ubuntu:〜$

ユーザーのプライマリグループを変更するには、ユーザーが現在追加されているプラ​​イマリグループのグループ名が必要になります。使用 id [ユーザー名] ユーザーの現在のプライマリグループのグループ名とグループIDを取得するコマンド。

gaurav @ ubuntu:〜$ id batman uid = 1000(batman)gid = 1000(batman)groups = 1000(batman)、128(sambashare)、4(adm)、24(cdrom)、27(sudo)gaurav @ ubuntu: 〜$ 

ここで、プライマリグループは「バットマン‘。今、使用します usermod ユーザーのプライマリグループを変更するコマンド。ユーザーのプライマリグループを「sambashare」に変更します。次のコマンドを確認してください。

構文:

sudo usermod -g [グループ名] [ユーザー名]

例:

 sudo usermod -g sambasharebatman

出力:

gaurav @ ubuntu:〜$ sudo usermod -g sambashare batman gaurav @ ubuntu:〜$ id batman uid = 1000(batman)gid = 128(sambashare)groups = 128(sambashare)、1000(batman)、4(adm)、24 (cdrom)、27(sudo)gaurav @ ubuntu:〜$ 

上記の操作を使用して、ユーザーbatmanのプライマリグループが「sambashare」に変更されます。

既存のユーザーに新しいグループを追加する

ユーザーアカウントは、Linuxシステムの複数のグループに属することができます。すべてのユーザーにはプライマリグループがあります。また、Linuxでは、ユーザーにセカンダリグループを追加することもできます。

Synatx:

sudo usermod -G [新しいグループ] [ユーザー名]

例:

sudo usermod -G dip batman

出力:

gaurav @ ubuntu:〜$ sudo usermod -G dip batman gaurav @ ubuntu:〜$ id batman uid = 1000(batman)gid = 128(sambashare)groups = 128(sambashare)、30(dip)gaurav @ ubuntu:〜$ 

ここで、「dip」という名前の新しいグループがユーザー「batman」に追加されます。

ノート: 新しいグループを「セカンダリグループ」として追加するには、次を使用する必要があります -a パラメータ。

-a 意味 追加。使用する -a-G ユーザーの「プライマリグループ」を変更せずに、グループを「セカンダリグループ」として追加します。

次のコマンドを使用して、ユーザーのプライマリグループを変更しないでください。

sudo usermod -a -G [追加するグループ] [ユーザー]

ユーザーのホームディレクトリの変更

システムにログインすると、セッションはユーザーアカウントに固有のホームディレクトリで開始されます。ユーザーアカウントが作成されると、システムはこの一意のディレクトリを割り当てます。 Linuxには、「ホームディレクトリ」を変更するオプションがあります。ほとんどの場合、「ホームディレクトリ」の名前はユーザー名と同じであり、 /家 ディレクトリ。

次のコマンドを使用して、ユーザーの「ホームディレクトリ」を変更します。

構文:

sudo usermod -d [new_directory_path] [ユーザー名]

ホームディレクトリが変更されたかどうかを確認するには、 grep 指図。ユーザー「バットマン」に関する情報を / etc / passwd ファイル。

gaurav @ ubuntu:〜$ sudo usermod -d / var / hpq / batman gaurav @ ubuntu:〜$ grep'var / hpq / '/ etc / passwd batman:x:1001:4 :: / var / hpq /:/ bin / false gaurav @ ubuntu:〜$

ノート: 古いホームディレクトリから新しいディレクトリにコンテンツを移動するには、使用する必要があります -m。以下に示す構文を使用します。

sudo usermod -m -d [new_directory_path] [ユーザー名]

ユーザーのUid(ユーザーID)の変更

Uid(ユーザー識別子)は、Linuxによってすべてのユーザーに割り当てられる一意の数値です。システムは、一意のユーザーを識別します uid それに割り当てられます。 UIDゼロがrootユーザーに割り当てられます。

以下のコマンドを使用して、ユーザーのUIDを変更できます。

構文:

sudo usermod -u [new_UID] user

例:

を使用してユーザーバットマンの現在のuidを確認する id [ユーザー] 指図。

gaurav @ ubuntu:〜$ id batman uid = 1000(batman)gid = 4(adm)groups = 4(adm)、30(dip)

バットマンのuidは1000になりました。を使用して536に変更しましょう。 usermod-u 指図。

gaurav @ ubuntu:〜$ sudo usermod -u 536 batman [sudo] gauravのパスワード:gaurav @ ubuntu:〜$

それでは、ユーザーbatmanのuidをもう一度確認してみましょう。 id [ユーザー] 指図

gaurav @ ubuntu:〜$ id batman uid = 536(batman)gid = 4(adm)groups = 4(adm)、30(dip)gaurav @ ubuntu:〜$

ここでは、ユーザーbatmanのuidが1000から536に変更されていることがわかります。 usermod -u 指図。

ユーザーアカウントで個人的なコメントを追加する

ユーザー「バットマン」の例を見てみましょう。このユーザーは大規模なオフィスで働いており、最近、勤務先の電話番号とデスク番号を変更しました。したがって、彼はこれらの変更された詳細を自分のユーザーアカウントに追加できます。 usermod -c 指図。

構文:

sudo usermod -c "あなたのコメント"ユーザー 

出力:

gaurav @ ubuntu:〜$ sudo usermod -c "Tony Stark、405、95985475" batman gaurav @ ubuntu:〜$ sudo grep'batman '/ etc / passwd batman:x:536:4:Tony Stark、405、95985475:/ var / hpq /:/ bin / false gaurav @ ubuntu:〜$

変更はに反映されます / etc / passwd ファイル。

ユーザーのロック/無効化

特定のユーザーのシステムへのアクセスを制限したい場合は、その特定のユーザーのパスワードをロックすることで制限できます。そのため、ユーザーがパスワードを使用してログインしようとしても、システムへのアクセスは許可されません。 ! のユーザーの暗号化されたパスワードの前に記号が追加されます / etc / shadow ファイル、パスワードが無効になっていることを意味します。

構文:

sudo usermod -L [ユーザー]

出力:

gaurav @ ubuntu:〜$ sudo usermod -L batman gaurav @ ubuntu:〜$ sudo grep batman / etc / shadow batman:!:17612:0:99999:7 ::: gaurav @ ubuntu:〜$

ユーザーのロック解除/有効化

以前に無効にしたユーザーのパスワードを簡単にロック解除/有効化できます。あなたはチェックすることができます / etc / shadow 変更のためのファイル。 ! 記号は、ユーザーの暗号化されたパスワードから削除されます。

構文:

sudo usermod -U [ユーザー]
gaurav @ ubuntu:〜$ sudo usermod -U batman gaurav @ ubuntu:〜$ sudo grep batman / etc / shadow batman:t:18511:0:99999:7 ::: gaurav @ ubuntu:〜$

ユーザーシェルの変更

GNU / Linuxシェルは特別なインタラクティブユーティリティです。これは、ユーザーがプログラムを開始し、ファイルシステム上のファイルを管理し、Linuxシステムで実行されているプロセスを管理する方法を提供します。シェルには、ファイルのコピー、ファイルの移動、ファイルの名前の変更、システムで現在実行されているプログラムの表示、システムで実行されているプログラムの停止などを制御するために使用する一連の内部コマンドが含まれています。

を使用してシェルのユーザーを変更できます usermod -s 指図。以下の構文を使用してください。

構文:

sudo usermod -s / bin / sh [ユーザー]
gaurav @ ubuntu:〜$ sudo usermod -s / bin / sh batman [sudo] gauravのパスワード:gaurav @ ubuntu:〜$ grep batman / etc / passwd batman:x:536:4:これは私のデモアカウントです:/ var / www /:/ bin / sh

を使用して変更を確認できます grep 上記の出力に示されているコマンド。

ユーザーの有効期限を設定する

特定のユーザーアカウントを特定の期間のみ使用する場合は、そのユーザーアカウントに有効期限を設定できます。有効期限は次の形式で入力されます YYYY-MM-DD.

構文:

usermod -e [YYYY-MM-DD] [ユーザー]

アカウントの現在の有効期限を確認するには、 chage -l [ユーザー] 指図。

gaurav @ ubuntu:〜$ sudo chage -l batman [sudo] gauravのパスワード:最後のパスワード変更:2020年9月6日パスワードの有効期限:なしパスワードが非アクティブ:なしアカウントの有効期限:なしパスワード変更間の最小日数:0最大数パスワード変更までの日数:99999パスワードの有効期限が切れるまでの警告日数:7 gaurav @ ubuntu:〜$ 

上記の出力では、現在、ユーザーbatmanの有効期限が設定されていないことがわかります。今、私たちは使用します usermod -e ユーザーbatmanの有効期限を設定するコマンド。

例:

sudo usermod -e2022-06-19バットマン

次に、を使用してユーザーの有効期限のステータスを再度確認します。 chage -l [ユーザー] 指図。

gaurav @ ubuntu:〜$ sudo chage -l batman [sudo] gauravのパスワード:最後のパスワード変更:2020年9月6日パスワードの有効期限:なしパスワードが非アクティブ:なしアカウントの有効期限:2022年6月19日パスワード変更間の最小日数:0パスワード変更間の最大日数:99999パスワードの有効期限が切れるまでの警告日数:7 gaurav @ ubuntu:〜$ 

このようにして、ユーザーアカウント「batman」の有効期限を2022年6月19日に設定しました。

結論

このチュートリアルでは、 usermod 基本的なユーザーアカウントデータを包括的に変更するコマンド。私たちが何かを逃した場合に備えて、遠慮なく私たちに連絡してください。

Techの詳細については、以下の他の記事をご覧ください。ハッピーラーニング!