usermod の概要
`usermod` コマンドは `useradd` で作成されたユーザーアカウントの情報を `/etc/passwd`, `/etc/shadow`, `/etc/group`, `/etc/gshadow` といったシステムファイルで修正します。ユーザーがログインした状態でアカウント情報を変更すると問題が発生する可能性があるため、変更したいユーザーがログアウトしているか確認するか、慎重に作業する必要があります。このすべてのプロセスには管理者権限(`sudo`)が必要です。
usermod の主な役割
`usermod` コマンドは主に次のような目的で使用されます:
主な活用分野
- ユーザー情報の修正: 既存のユーザーアカウントのログイン名、ホームディレクトリ、シェルなどを変更します。
- グループメンバーシップの管理: ユーザーを新しいグループに追加したり、既存のグループから削除します。
- アカウント状態の調整: アカウントの期限日を設定したり、アカウントをロックまたは解除します。
- UID/GID の変更: ユーザーのユニーク ID (UID) または基本グループ ID (GID) を変更します。 (非常に注意が必要)
useradd vs usermod
`useradd` は新しいアカウントを '作成' するために使用され、`usermod` は既に存在するアカウントの属性を '修正' するために使用されます。
主な usermod コマンドオプション
`usermod` コマンドはユーザーのさまざまなアカウント属性を変更できる幅広いオプションを提供します。
1. アカウント名および ID の変更
2. グループメンバーシップの変更
3. ホームディレクトリおよびシェルの変更
4. アカウント状態およびその他
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`usermod` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
`usermod` コマンドのさまざまな活用例を通じて、既存のユーザーアカウントの属性を効率的に変更および管理する方法を学びましょう。
ユーザー名の変更
sudo usermod -l newuser -m -d /home/newuser olduser
`olduser` のログイン名を `newuser` に変更します。アカウント情報とホームディレクトリ名が同時に変更されます。
ユーザーを 'sudo' グループに追加
sudo usermod -aG sudo devuser
`devuser` ユーザーを `sudo` グループに追加し、管理者権限を使用できるようにします。既存のグループメンバーシップは保持されます。
ユーザーの基本シェルの変更
sudo usermod -s /bin/zsh testuser
`testuser` の基本ログインシェルを `/bin/zsh` に変更します。
ユーザーアカウントのロック
sudo usermod -L guestuser
`guestuser` アカウントをロックし、ログインできなくします。これはアカウントを無効化しますが、削除はしません。
ユーザーアカウントのロック解除
sudo usermod -U guestuser
以前にロックした `guestuser` アカウントを再度有効化し、ログインできるようにします。
ユーザーアカウントの有効期限設定
sudo usermod -e 2025-12-31 tempuser
`tempuser` アカウントが 2025 年 12 月 31 日に自動的に期限切れになるように設定します。
ユーザーのすべての補助グループの変更 (既存のグループ削除)
sudo usermod -G developers john
`john` ユーザーが `developers` グループにのみ所属するようにし、以前に所属していた他の補助グループはすべて削除します。