「usermod」コマンドの使用に関する完全ガイド - スクリーンショット付きの 15 の実践例
Unix/Linux ディストリビューションでは、コマンド 'usermod ' を使用して、コマンド ライン経由で作成済みのユーザー アカウントの属性を変更または変更します。コマンド「usermod」は「useradd」または「adduser」と似ていますが、ログインが既存のユーザーに許可される点が異なります。
コマンド「useradd」または「adduser」は、Linux システムでユーザー アカウントを作成するために使用されます。システム ユーザーの作成方法の詳細については、次の完全なガイドをお読みください。
- Linux の「useradd 」コマンドの完全ガイド
ユーザー アカウントを作成した後、ユーザーのホーム ディレクトリ、ログイン名、ログイン シェル、パスワードの有効期限など、既存のユーザーの属性を変更する必要があるシナリオでは、「usermod」コマンドが使用されます。
ターミナルで「usermod」コマンドを実行すると、以下のファイルが使用され、影響を受けます。
- /etc/passwd – ユーザー アカウント情報。
- /etc/shadow – アカウント情報を保護します。
- /etc/group – グループアカウント情報。
- /etc/gshadow – グループ アカウント情報を保護します。
- /etc/login.defs – シャドウ パスワード スイートの構成。
コマンドの基本的な構文は次のとおりです。
usermod [options] username
要件
- usermod コマンドを実行するには、既存のユーザー アカウントが必要です。
- usermod コマンドを実行できるのはスーパーユーザー (root) のみです。
- usermod コマンドは、どの Linux ディストリビューションでも実行できます。
- usermod コマンドとオプションに関する基本的な知識が必要です
Usermodのオプション
「usermod」 コマンドは、既存のユーザーに変更を加えるための多くのオプションを備えた使いやすいコマンドです。次のオプションを使用して、Linux ボックス内の既存のユーザーを変更することで usermod コマンドを使用する方法を見てみましょう。
- -c=useraccount のコメント フィールドを追加できます。
- -d=既存のユーザー アカウントのディレクトリを変更します。
- -e=このオプションを使用すると、特定の期間でアカウントの有効期限を切れるようにすることができます。
- -g=ユーザーのプライマリ グループを変更します。
- -G=補足グループを追加します。
- -a=グループの任意のユーザーを 2 番目のグループに追加します。
- -l=ログイン名を tecmint から tecmint_admin に変更します。
- -L=ユーザー アカウントをロックします。これによりパスワードがロックされ、アカウントを使用できなくなります。
- -m=ホーム ディレクトリの内容を既存のホーム ディレクトリから新しいディレクトリに移動します。
- -p=新しいパスワードとして暗号化されていないパスワードを使用します。 (安全ではありません)。
- -s=新しいアカウント用に指定されたシェルを作成します。
- -u=0 ~ 999 のユーザー アカウントに UID を割り当てるために使用されます。
- -U=ユーザー アカウントのロックを解除します。これにより、パスワード ロックが解除され、ユーザー アカウントを使用できるようになります。
この記事では、「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 -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 日 に変更しましょう。 ' オプションを選択し、'変更' コマンドで有効期限を確認します。
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」 オプションだけを使用して既存のユーザーに新しいグループを追加すると、既存のグループがすべて削除されるので注意してください。ユーザーが所属します。したがって、新しいグループを追加または追加するには、常に「-G」オプションとともに「-a」(追加)を追加します。
6. 補助グループと主グループをユーザーに追加する
ユーザーを補足グループのいずれかに追加する必要がある場合は、オプション「-a」と「-G」を使用できます。たとえば、ここでは wheel ユーザーを持つユーザー アカウント tecmint_test0 を追加します。
usermod -a -G wheel tecmint_test0
id tecmint_test0
したがって、ユーザー tecmint_test0 はプライマリ グループに残り、セカンダリ グループ (wheel) にも残ります。これにより、私の通常のユーザー アカウントが 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. ユーザーのホーム ディレクトリを新しい場所に移動します
ユーザー アカウント「pinky」とホーム ディレクトリ「/home/pinky」があり、新しい場所「/var」に移動したいとします。 / 小指』。オプション「-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」の UID が 502 であることがわかります。ここでそれを 888 に変更したいと思います。私のUIDとして。 UID は 0 から 999 まで割り当てることができます。
grep -E --color 'babin' /etc/passwd
OR
id babin
次に、「-u」 (uid) オプションを使用してユーザー babin の UID を変更し、変更を確認してみましょう。
usermod -u 888 babin
id babin
14. 複数のオプションを使用したユーザー アカウントの変更
ここにはユーザー jack がいて、上で説明したようにすべてのオプションを指定した 1 つのコマンドを使用して、彼のホーム ディレクトリ、シェル、有効期限、ラベル、UID、およびグループを一度に変更したいと考えています。
ユーザー Jack にはデフォルトのホーム ディレクトリ /home/jack があります。ここで、それを /var/www/html に変更して、ユーザーに割り当てたいと思います。シェルを bash として設定し、有効期限を 2014 年 12 月 10 日に設定し、新しいラベルを This is jack として追加し、UID を 555 に変更すると、彼は Apple グループのメンバーになります。
複数のオプションを使用して jack アカウントを変更する方法を見てみましょう。
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 という名前のアカウントがすでに存在します。
ここで、jack ユーザー アカウントに 666 の UID と Orange (777) の GID を割り当てたいと考えています。
変更する前に、現在の UID と GID を確認してください。
id jack
UID と GID を変更します。
usermod -u 666 -g 777 jack
変更を確認します。
id jack
結論
ここでは、usermod コマンドとそのオプションを使用する方法を非常に詳細に説明しました。 usermod コマンドについて知る前に、usermod を使用するための「useradd」コマンドとそのオプションを理解する必要があります。記事内で見逃している点がある場合は、コメントを通じてお知らせください。貴重なコメントを忘れずに追加してください。