'usermod'コマンドの使用に関する完全ガイド-スクリーンショット付きの15の実用例


Unix/Linuxディストリビューションでは、コマンド「 usermod 」を使用して、コマンドラインを介して作成済みのユーザーアカウントの属性を変更または変更します。コマンド「usermod」は「useradd」または「adduser」に似ていますが、ログインは既存のユーザーに付与されます。

コマンド「useradd」または「adduser」は、Linuxシステムでユーザーアカウントを作成するために使用されます。システムユーザーの作成方法の詳細については、次のガイドをご覧ください。

  1. A Complete Guide to “useradd” Command in Linux

ユーザーアカウントを作成した後、ユーザーのホームディレクトリ、ログイン名、ログインシェル、パスワードの有効期限など、既存のユーザーの属性を変更する必要があるシナリオでは、「usermod」コマンドが使用されます。

ターミナルで「usermod」コマンドを実行すると、次のファイルが使用され、影響を受けます。

  1. /etc/passwd – User account information.
  2. /etc/shadow – Secure account information.
  3. /etc/group – Group account information.
  4. /etc/gshadow – Secure group account information.
  5. /etc/login.defs – Shadow password suite configuration..

コマンドの基本的な構文は次のとおりです。

usermod [options] username
  1. We must have existing user accounts to execute usermod command.
  2. Only superuser (root) is allowed to execute usermod command.
  3. The usermod command can be executed on any Linux distribution.
  4. Must have basic knowledge of usermod command with options

「usermod」コマンドは、既存のユーザーに変更を加えるための多くのオプションとともに簡単に使用できます。次のオプションを使用して、Linuxボックスの既存のユーザーを変更してusermodコマンドを使用する方法を見てみましょう。

  1. -c = We can add comment field for the useraccount.
  2. -d = To modify the directory for any existing user account.
  3. -e = Using this option we can make the account expiry in specific period.
  4. -g = Change the primary group for a User.
  5. -G = To add a supplementary groups.
  6. -a = To add anyone of the group to a secondary group.
  7. -l = To change the login name from tecmint to tecmint_admin.
  8. -L = To lock the user account. This will lock the password so we can’t use the account.
  9. -m = moving the contents of the home directory from existing home dir to new dir.
  10. -p = To Use un-encrypted password for the new password. (NOT Secured).
  11. -s = Create a Specified shell for new accounts.
  12. -u = Used to Assigned UID for the user account between 0 to 999.
  13. -U = To unlock the user accounts. This will remove the password lock and allow us to use the user account.

この記事では、「15個のusermodコマンド」とその実用的な例およびLinuxでの使用法について説明します。これは、これらのオプションを使用してコマンドラインスキルを学習および強化するのに役立ちます。

1.ユーザーアカウントへの情報の追加

-c ‘オプションは、ユーザーアカウントに関する簡単なコメント(情報)を設定するために使用されます。たとえば、次のコマンドを使用して、「tecmint」ユーザーに関する情報を追加しましょう。

# usermod -c "This is Tecmint" tecmint

ユーザーに関する情報を追加した後、同じコメントを/ etc/passwdファイルで表示できます。

# grep -E --color 'tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

2.ユーザーのホームディレクトリを変更します

上記の手順では、ホームディレクトリが/home/tecmint/の下にあることがわかります。他のディレクトリに変更する必要がある場合は、 -d を使用して変更できます。 usermodコマンドを使用したオプション。

たとえば、ホームディレクトリを/var/www/に変更したいのですが、変更する前に、次のコマンドを使用して、ユーザーの現在のホームディレクトリを確認しましょう。

# grep -E --color '/home/tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

ここで、ホームディレクトリを/ home/tecmintから/ var/www /に変更し、変更後にホームディレクターを確認します。

# usermod -d /var/www/ tecmint
# grep -E --color '/var/www/' /etc/passwd

tecmint:x:500:500:This is Tecmint:/var/www:/bin/sh

3.ユーザーアカウントの有効期限を設定します

オプション「-e」は、日付形式YYYY-MM-DDでユーザーアカウントの有効期限を設定するために使用されます。ユーザーに有効期限を設定する前に、まず「chage」(ユーザーパスワードの有効期限情報の変更)コマンドを使用して、現在のアカウントの有効期限ステータスを確認しましょう。

# chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Dec 01, 2014
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

「tecmint」ユーザーの有効期限は 2014年12月1日です。「usermod-e」オプションを使用して 2014年11月1日に変更し、「chage」で有効期限を確認しましょう。 'コマンド。

# usermod -e 2014-11-01 tecmint
# chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Nov 01, 2014
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

4.ユーザープライマリグループを変更します

ユーザープライマリグループを設定または変更するには、usermodコマンドでオプション「-g」を使用します。ユーザーのプライマリグループを変更する前に、まずユーザーの現在のグループを確認してください tecmint_test

# id tecmint_test

uid=501(tecmint_test) gid=502(tecmint_test) groups=502(tecmint_test)

ここで、 babin グループをプライマリグループとしてユーザー tecmint_test に設定し、変更を確認します。

# usermod -g babin tecmint_test
# id tecmint_test

uid=501(tecmint_test) gid=502(babin) groups=502(tecmint_test)

5.既存のユーザーへのグループの追加

「tecmint_test0」という新しいグループを「tecmint」ユーザーに追加する場合は、以下に示すように、usermodコマンドでオプション「-G」を使用できます。

# usermod -G tecmint_test0 tecmint
# id tecmint

注:「-G」オプションのみを使用して既存のユーザーに新しいグループを追加すると、ユーザーが属する既存のグループがすべて削除されることに注意してください。したがって、新しいグループを追加または追加するには、常に「-a」(追加)と「-G」オプションを追加してください。

6.補足グループとプライマリグループをユーザーに追加する

補足グループのいずれかにユーザーを追加する必要がある場合は、オプション「-a」および「-G」を使用できます。たとえば、ここでは、 Wheel ユーザーのユーザーアカウント tecmint_test0 を追加します。

# usermod -a -G wheel tecmint_test0
# id tecmint_test0

したがって、ユーザー tecmint_test0 は、プライマリグループとセカンダリグループ(ホイール)に残ります。これにより、通常のユーザーアカウントでLinuxボックスでroot特権コマンドを実行できるようになります。

eg : sudo service httpd restart

7.ユーザーログイン名を変更する

既存のユーザーログイン名を変更するには、「-l」(新規ログイン)オプションを使用できます。以下の例では、ログイン名tecmintをtecmint_adminに変更しています。そのため、ユーザー名tecmintは新しい名前tecmint_adminに名前が変更されました。

# usermod -l tecmint_admin tecmint

ここで、tecmintユーザーを確認します。tecmint_adminに変更したため、存在しません。

# id tecmint

tecmint_adminアカウントを確認します。このアカウントは、同じUIDで、以前に追加した既存のグループで存在します。

# id tecmint_admin

8.ユーザーアカウントをロックする

システムユーザーアカウントをロックするには、「-L」(ロック)オプションを使用できます。アカウントがロックされた後は、パスワードを使用してログインできなくなり、暗号化される前にが追加されます。/etc/shadowファイルのパスワードは、パスワードが無効であることを意味します。

# usermod -L babin

ロックされたアカウントを確認します。

# grep -E --color 'babin' cat /etc/shadow

9.ユーザーアカウントのロックを解除します

「-U」オプションは、ロックされたユーザーのロックを解除するために使用されます。これにより、暗号化されたパスワードの前のが削除されます。

# grep -E --color 'babin' /etc/shadow
# usermod -U babin

ロックを解除した後、ユーザーを確認します。

# grep -E --color 'babin' /etc/shadow

10.ユーザーのホームディレクトリを新しい場所に移動します

ホームディレクトリが「/ home/pinky」の「pinky」というユーザーアカウントを持っていて、「/ var/pinky」などの新しい場所に移動するとします。オプション「-d」および「-m」を使用して、既存のユーザーファイルを現在のホームディレクトリから新しいホームディレクトリに移動できます。

アカウントとその現在のホームディレクトリを確認します。

# grep -E --color 'pinky' /etc/passwd

次に、ユーザーpinkyが所有するファイルを一覧表示します。

# ls -l /home/pinky/

次に、ホームディレクトリを/ home/pinkyから/ var/pinkyに移動する必要があります。

# usermod -d /var/pinky/ -m pinky

次に、ディレクトリの変更を確認します。

# grep -E --color 'pinky' /etc/passwd

「/ home/pinky」の下にあるファイルを確認します。ここでは、-mオプションを使用してファイルを移動したため、ファイルはありません。 pinkyユーザーファイルは/ var/pinkyの下にあります。

# ls -l /home/pinky/
# ls -l /var/pinky/

11.ユーザーの暗号化されていないパスワードを作成する

暗号化されていないパスワードを作成するには、オプション「-p」(パスワード)を使用します。デモンストレーションの目的で、ユーザーのピンキーに「redhat」という新しいパスワードを設定しています。

# usermod -p redhat pinky

パスワードを設定したら、シャドウファイルをチェックして、暗号化された形式か暗号化されていないかを確認します。

# grep -E --color 'pinky' /etc/shadow

注:上の画像で見たように、パスワードは誰にでもはっきりと見えます。したがって、パスワードはすべてのユーザーに表示されるため、このオプションの使用はお勧めしません。

12.ユーザーシェルを変更します

ユーザーログインシェルは、useraddコマンドを使用してユーザーの作成中に変更または定義するか、オプション「-s」(シェル)を使用して「usermod」コマンドを使用して変更できます。たとえば、ユーザー「babin」にはデフォルトで/ bin/bashシェルがありますが、ここで/ bin/shに変更します。

# grep -E --color 'babin' /etc/passwd
# usermod -s /bin/sh babin

ユーザーシェルを変更した後、次のコマンドを使用してユーザーシェルを確認します。

# grep -E --color 'babin' /etc/passwd

13.ユーザーID(UID)を変更します

以下の例では、ユーザーアカウント「babin」が502のUIDを保持していることがわかります。ここで、UIDとして888に変更します。 0から999までのUIDを割り当てることができます。

# grep -E --color 'babin' /etc/passwd
OR
# id babin

それでは、「-u」(uid)オプションを使用してユーザーbabinのUIDを変更し、変更を確認しましょう。

# usermod -u 888 babin
# id babin

14.複数のオプションを使用したユーザーアカウントの変更

ここにユーザー jack がいます。ここで、上記で説明したように、すべてのオプションを備えた1つのコマンドを使用して、ホームディレクトリ、シェル、有効期限、ラベル、UID、およびグループを一度に変更します。

ユーザージャックにはデフォルトのホームディレクトリ/home/jack があります。次に、これを/var/www/html に変更して、ユーザーに割り当てます。シェルを bash 、有効期限を2014年12月10日、新しいラベルをこれはジャックとして追加し、UIDを555に変更すると、彼はアップルグループのメンバーになります。

ここで、複数のオプションを使用してジャックアカウントを変更する方法を見てみましょう。

# usermod -d /var/www/html/ -s /bin/bash -e 2014-12-10 -c "This is Jack" -u 555 -aG apple jack

次に、UIDとホームディレクトリの変更を確認します。

# grep -E --color 'jack' /etc/passwd

アカウントの有効期限チェック。

# chage -l jack

すべてのジャックがメンバーになっているグループを確認します。

# grep -E --color 'jack' /etc/group

15.ユーザーのUIDとGIDを変更します

現在のユーザーのUIDとGIDを変更できます。新しいGIDに変更するには、既存のグループが必要です。ここには、GIDが 777 orange という名前のアカウントがすでにあります。

ジャックユーザーアカウントに、UIDが 666 、GIDがオレンジ( 777 )に割り当てたいと考えています。

変更する前に、現在のUIDとGIDを確認してください。

# id jack

UIDとGIDを変更します。

# usermod -u 666 -g 777 jack

変更を確認します。

# id jack

結論

ここでは、usermodコマンドとそのオプションを非常に詳細に使用する方法を説明しました。usermodコマンドについて知る前に、「useradd」コマンドとusermodを使用するためのそのオプションを知っておく必要があります。記事のどこかを見逃した場合は、コメントでお知らせください。貴重なコメントを追加することを忘れないでください。

全著作権所有。 © Linux-Console.net • 2019-2022