ユーザー属性の変更
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:::