【コマンドライン】ユーザー設定の変更 [ usermod ]

【コマンドライン】ユーザー設定の変更 [ usermod ]

コマンドラインでユーザーの設定を変更するusermodコマンドについて解説します。

検証環境

usermodコマンド

usermodコマンドは“ユーザーの設定を変更するコマンド”です。

ユーザー名の変更やロック・アンロック、グループの変更が行えます。

基本書式

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

オプション

主なオプションは次の通りです。

オプション 内容
-L ユーザーをロック
-U ユーザーのロックを解除
-l 変更後名称 変更前名称 ユーザー名を変更
-d ホームディレクトリパス ホームディレクトリを変更(現在のホームディレクトリを名称変更して使う場合は-mオプションを併用)
-m 現在のホームディレクトリを移動(-dオプションと併用)
-g グループ プライマリグループを変更
-G グループ セカンダリグループを変更(グループが複数ある場合はカンマ(,)で区切る)
※ 指定したグループで置き換わるため追加する場合は-aオプションを併用
-a -Gオプションと併用して使う。-Gオプションの動作を『置き換え』から『追加』に変更

引数

ユーザー

ユーザーは設定を変更するユーザーです。

サンプル

ユーザーのロック

ユーザーをロックすると、一般ユーザーからログインできなくなります。

___ih_hl_start
# usermod -L guest
___ih_hl_end
[hacker]$ su guest
パスワード:
su: 認証失敗

ユーザーのアンロック

ロックしたユーザーはアンロック(解除)することで、一般ユーザーからログインできるようになります。

___ih_hl_start
# usermod -U guest
___ih_hl_end
[hacker]$ su guest
パスワード:
[guest]$

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

ユーザー名とホームディレクトリ名は基本的に一致させます。

そのため、一方を変更する場合はもう一方も合わせて変更します。

# cat /etc/passwd
...省略...
guest:x:1001:1001::/home/guest:/bin/bash
___ih_hl_start
# usermod -l tester guest -d /home/tester -m
___ih_hl_end
# cat /etc/passwd
...省略...
tester:x:1001:1001::/home/tester:/bin/bash

プライマリグループの変更

# groups tester
tester : tester developers
___ih_hl_start
# usermod -g developers tester
___ih_hl_end
# groups tester
tester : developers tester

セカンダリグループの変更

# groups tester
tester : tester hackers
___ih_hl_start
# usermod -G developers tester
___ih_hl_end
# groups tester
tester : tester developers

セカンダリグループの追加

# groups tester
tester : tester hackers
___ih_hl_start
# usermod -aG developers tester
___ih_hl_end
# groups tester
tester : tester developers hackers

マニュアル

コマンドの仕様(主な処理やオプション・引数など)は環境により異なる場合がございます。

利用環境での仕様は『コマンドのマニュアルを表示する』manコマンド等で確認しましょう。