usermodコマンド : ユーザ情報変更
Linuxコマンド(ユーザ管理)
目次
コマンド概要
- usermodコマンドはユーザアカウント情報を変更するコマンドです。
- ホームディレクトリ、パスワード、シェル、ユーザID、所属グループなどを変更することができます。
コマンド書式
コマンド書式
usermod [オプション] ユーザ名
オプション | 説明 |
---|---|
-c 文字列 | ユーザのコメント(=文字列)を変更する。 |
-d 文字列 | ディレクトリパス(=文字列)を指定してホームディレクトリを変更する。-mオプションを併用するとホームディレクトリの中身を変更先に移動する。 |
-e YYYY-MM-DD | ユーザアカウントの有効期限日付(=YYYY-MM-DD)をを指定する。 |
-f 日数 | ユーザアカウントの有効期限が切れてから利用不能になるまでの日数を指定する(デフォルトは-1が設定されてお り有効期限は無限になっている)。有効期限が切れると、ユーザは新しいパスワードを設定する必要がある。 |
-g 文字列 | ユーザに所属させるメイングループ(Primary Group)を「グループ名もしくはグループID」(=文字列)で変更する。 |
-G 文字列 | ユーザに所属させる1つ以上のサブグループ(Secondary Group)を「グループ名もしくはグループID」(=文字列)で変更する。「,」区切りで複数グループ指定が可能。 |
-l 文字列 | ユーザ名(=文字列)を変更する。 |
-p 文字列 | ユーザのパスワード(=文字列)を変更する。パスワードのハッシュ値を指定します。「openssl passwd」コマンドなどを利用すればハッシュ値を生成することが可能です。 |
-s 文字列 | ログインシェルを絶対パス(=文字列)で指定する。 |
-u 数値 | ユーザIDを変更する。 |
-L | パスワードをロックする。 |
-U | パスワードロックを解除する。 |
コマンド使用例
項目 | 値 | 補足 |
---|---|---|
OS | Amazon Linux 2 | |
シェル | bash 4.2.46 | |
PS1 | [\u@\h \W]$ | プロンプト表示形式は [ユーザ 名@ホスト名 カレントディレクトリ名]ユーザ権限 |
PS2 | > | 継続行のプロンプト表示形式 |
usermod -c : コメント変更
-
-c
オプションを使用するとユーザのコメントを変更することができます。コマンド例// rootユーザ操作 // ユーザリスト状態(変更前) [root@hostname ~]# cat /etc/passwd | grep username username:x:1002:9999:xxxxxxxxxxxxx:/home/username:/bin/bash // コメント変更 [root@hostname ~]# usermod -c 'yyyyyyyyyyyyy' username // ユーザリスト状態(変更後) [root@hostname ~]# cat /etc/passwd | grep username username:x:1002:9999:yyyyyyyyyyyyy:/home/username:/bin/bash
usermod -d : ホームディレクトリ変更
-
-d
オプションを使用するとユーザのホームディレクトリを変更することができます。コマンド例// rootユーザ操作 // ユーザリスト状態(変更前) [root@hostname ~]# cat /etc/passwd | grep username username:x:1002:9999::/home/username:/bin/bash // ホームディレクトリ変更 [root@hostname ~]# usermod -d /home/johndoe username // ユーザリスト状態(変更後) [root@hostname ~]# cat /etc/passwd | grep username username:x:1002:9999::/home/johndoe:/bin/bash // 該当ディレクトリは作成されない [root@hostname ~]# ls /home/johndoe/ ls: cannot access /home/johndoe/: No such file or directory
usermod -e : ユーザ有効期限変更
-
-e
オプションを使用するとユーザアカウントの有効期限日付を指定することができます。コマンド例// root操作 // ユーザアカウント有効期限確認(変更前) [root@hostname ~]# chage -l username | grep 'Account expires' Account expires : never // ユーザアカウント有効期限変更 [root@hostname ~]# usermod -e 2023-12-31 username // ユーザアカウント期限確認(変更後) [root@hostname ~]# chage -l username | grep 'Account expires' Account expires : Dec 31, 2023
usermod -f : PW有効期限変更
-
-f
オプションを使用するとユーザアカウントのパスワードの有効期限日付を変更することができます。コマンド例// rootユーザ操作 // パスワード有効期限確認(変更前) [root@hostname ~]# passwd -S username username LK 2023-10-16 0 99999 7 -1 (Password locked.) // パスワード有効期限変更 [root@hostname ~]# usermod -f 30 username // パスワード有効期限確認(変更後) [root@hostname ~]# passwd -S username username LK 2023-10-16 0 99999 7 30 (Password locked.)
usermod -g : メイングループ変更
-
-g
オプションを使用するとユーザに所属させるメイングループを変更することができます。コマンド例// rootユーザ操作 // ユーザ情報確認(グループ変更前) [root@hostname ~]# id username uid=1002(username) gid=1002(username) groups=1002(username) // メイングループ変更 [root@hostname ~]# usermod -g groupname username // ユーザ情報確認(グループ変更後) [root@hostname ~]# id username uid=1002(username) gid=9999(groupname) groups=9999(groupname)
usermod -G : サブグループ変更
-
-G
オプションを使用するとユーザに所属させる1つ以上のサブグループを変更することができます。コマンド例// rootユーザ操作 // グループリスト確認(変更前) [root@hostname ~]# cat /etc/group | grep -E 'wheel|groupname' wheel:x:10: groupname:x:9999: // 所属グループ確認(変更前) [root@hostname ~]# id username uid=1002(username) gid=1002(username) groups=1002(username) // 所属グループ変更 [root@hostname ~]# usermod -G groupname,wheel username // 所属グループ確認(変更後) [root@hostname ~]# id username uid=1002(username) gid=1002(username) groups=1002(username),10(wheel),9999(groupname) // グループリスト確認(変更後) [root@hostname ~]# cat /etc/group | grep -E 'wheel|groupname' wheel:x:10:username groupname:x:9999:username
usermod -l : ユーザ名変更
-l
オプションを使用するとユーザ名を変更することができます。
コマンド例
// rootユーザ操作
// ユーザリスト状態(変更前)
[root@hostname ~]# cat /etc/passwd | grep username
username:x:1002:1002::/home/username:/bin/bash
// ユーザ名変更
[root@hostname ~]# sudo usermod -l username2 username
// ユーザリスト状態(変更後)
[root@hostname ~]# cat /etc/passwd | grep username
username2:x:1002:1002::/home/username:/bin/bash
usermod -p : パスワード変更
-
-p
オプションを使用するとユーザのパスワードを変更することができます。コマンド例// rootユーザ操作 // ユーザパスワード状態(パスワード変更前) [root@hostname ~]# cat /etc/shadow | grep username username:QScgQP7SKI1zA:19648:0:99999:7::: // パスワード変更 [root@hostname ~]# usermod -p 1KWjLGKqOgoFU username // ユーザパスワード状態(パスワード変更後) [root@hostname ~]# cat /etc/shadow | grep username username:1KWjLGKqOgoFU:19648:0:99999:7:::
usermod -s : ログインシェル変更
-
-s
オプションを使用するとユーザのログインシェルを変更することができます。コマンド例// rootユーザ操作 // 利用可能なシェル一覧 [root@hostname ~]# cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash /bin/tcsh /bin/csh // ユーザリスト状態(変更前) [root@hostname ~]# cat /etc/passwd | grep username username:x:1002:1002::/home/username:/bin/bash // ログインシェル変更 [root@hostname ~]# usermod -s /bin/csh username // ユーザリスト状態(変更後) [root@hostname ~]# cat /etc/passwd | grep username username:x:1002:1002::/home/username:/bin/csh
usermod -u : ユーザID変更
-
-u
オプションを使用するとユーザのログインシェルを変更することができます。コマンド例// rootユーザ操作 // ユーザ情報表示(ユーザID変更前) [root@hostname ~]# id username uid=1002(username) gid=9999(groupname) groups=9999(groupname),1002(username) // ユーザID変更 [root@hostname ~]# usermod -u 8888 username // ユーザ情報表示(ユーザID変更後) [root@hostname ~]# id username uid=8888(username) gid=9999(groupname) groups=9999(groupname),1002(username)
usermod -L : パスワードロック
-
-L
オプションを使用するとユーザへパスワードロックすることができます。コマンド例// rootユーザ操作 // パスワードロック状態確認(パスワードロック前) [root@hostname ~]# passwd -S username username PS 2023-12-31 0 99999 7 -1 (Alternate authentication scheme in use.) // パスワードロック [root@hostname ~]# usermod -L username // パスワードロック状態確認(パスワードロック後) [root@hostname ~]# passwd -S username username LK 2023-12-31 0 99999 7 -1 (Password locked.)
usermod -U : パスワードロック解除
-
-U
オプションを使用するとユーザへのパスワードロックを解除することができます。コマンド例// rootユーザ操作 // パスワードロック状態確認(パスワードロック前) [root@hostname ~]# passwd -S username username LK 2023-12-31 0 99999 7 -1 (Password locked.) // パスワードロック [root@hostname ~]# usermod -L username // パスワードロック状態確認(パスワードロック後) [root@hostname ~]# passwd -S username username PS 2023-12-31 0 99999 7 -1 (Alternate authentication scheme in use.)
コメント