ユーザー属性の変更
usermod コマンドはユーザー属性を変更するために使用されます。
フォーマット:
usermod [options] LOGIN
よく使うオプション
-
-c|--comment COMMENT# コメントを変更する -
-d|--home HOME_DIR# ホームディレクトリを変更する -
-e|--expiredate EXPIRE_DATE# アカウントの有効期限日を変更する(YYYY-MM-DD 形式) -
-f|--inactive INACTIVE# パスワードが期限切れになった後、アカウントが完全に無効になるまでの日数(0はパスワード期限切れと同時に無効、-1はこの機能を使用しない) -
-g|--gid GROUP# グループを変更する -
-G|--groups GROUPS# groupName|GID... 新しい追加グループ、元の追加グループは上書きされる;元のを保持するには-aオプションも同時に使用する -
-a|--append GROUP# ユーザーを上記の-Gに記載された追加グループに追加する(他のグループからこのユーザーを削除しない) -
-l|--login LOGIN# 新しいログイン名 -
-L|--lock# ユーザーアカウントをロックする//etc/shadowのパスワード欄に!が追加される -
-m|--move-home# ホームディレクトリの内容を新しい場所に移動する、-dと一緒に使う -
-o|--non-unique# 重複する(ユニークではない)UIDを許可する -
-p|--password PASSWORD# パスワードを変更するが、ここでは平文が必要、この場でパスワードを変更するには暗号化された文字列を使う -
-s|--shell SHELL# ログインシェルを変更する -
-u|--uid UID# UIDを変更する -
-U|--unlock# ユーザーアカウントのロックを解除する、/etc/shadowのパスワード欄の!を削除する
ユーザー情報の変更例
[root@rocky8 ~]# id tom
uid=1003(tom) gid=1003(tom) groups=1003(tom)
[root@rocky8 ~]# usermod -c "tom to jerry" -l jerry tom
[root@rocky8 ~]# id jerry
uid=1003(jerry) gid=1003(tom) groups=1003(tom)
ユーザーのロック
ロックされたユーザーはログインできなくなります。
[root@rocky8 ~]# getent shadow jose
jose:$6$1gfAZcky1hjTfVX0$dcImV6yr9xWzfcfeUI0zXH3p0t0OG71nzUcqD7MoLID8bzsoPKS60Cu
oGbWv.e.qXzzXknAqTfTWvMlZzpp.i/:19158:0:99999:7:::
[root@rocky8 ~]# usermod -L jose
[root@rocky8 ~]# getent shadow jose
jose:!$6$1gfAZcky1hjTfVX0$dcImV6yr9xWzfcfeUI0zXH3p0t0OG71nzUcqD7MoLID8bzsoPKS60C
uoGbWv.e.qXzzXknAqTfTWvMlZzpp.i/:19158:0:99999:7:::
ユーザーのロック解除
[root@rocky8 ~]# usermod -U jose
[root@rocky8 ~]# getent shadow jose
jose:$6$1gfAZcky1hjTfVX0$dcImV6yr9xWzfcfeUI0zXH3p0t0OG71nzUcqD7MoLID8bzsoPKS60Cu
oGbWv.e.qXzzXknAqTfTWvMlZzpp.i/:19158:0:99999:7:::
CentOSはパスワードのないユーザーのログインを許可しているため、!!が2つあります。これは -U オプションでロックを解除することはできません。
言い換えると、ロック解除はパスワードがあるユーザーにのみ関係がありますが、直接 /etc/shadow ファイルを編集してパスワード欄を空にし、パスワードのないユーザーを作ることができます。
[root@rocky8 ~]# getent shadow jerry
jerry:!!:19168:0:99999:7:::
[root@rocky8 ~]# usermod -U jerry
usermod: unlocking the user's password would result in a passwordless account.
You should set a password with usermod -p to unlock this user's password.
[root@rocky8 ~]# getent shadow jerry
jerry:!!:19168:0:99999:7:::