在 Linux 用 useradd 或 adduser 建立了使用者帐号后, 如要修改帐号的设定, 例如修改使用者的 Home 目录, login shell, 过期期限等, 可以用 usermod 指令完成。usermod 的用法跟 useradd 或 adduser 差不多, 分别只是 usermod 是修改现有使帐号。
usermod 的语法:
usermod [-cdegGlsuLU] username
以下是 usermod 指令的一些常见用法:
变更使用者的家目录路径, 将帐号 opencli 的家目录改为 /home/new_dir:
# usermod -d /home/new_dir opencli
搬移使用者家目录资料到新路径:
上面用 -d 参数变更使用者的家目录, 但不会移动使用者的档案, 另外加上 -m 参数会将使用者原家目录的档案移动到新路径:
# usermod -d /home/new_dir -m opencli
设定帐号过期期限:
# usermod -e 2019-03-10 opencli
设定帐号主要群组:
# usermod -g group opencli
加入帐号到群组:
# usermod -a -G group opencli
注: 当使用 “-G” 参数时, usermod 会将帐号从原来加入了的群组退出, 所以在 “-G” 参数前加入 “-a” 参数, 会保留原来的群组设定。
变更使用者帐号名称:
# usermod -l new-login old-login
锁定帐号:
# usermod -L username
解锁帐号:
# usermod -U username
变更帐号的 Shell, 以下会设定帐号的 Shell 为 /usr/sbin/nologin:
# usermod -s /usr/sbin/nologin username
变成帐号的 UID:
# usermod -u 888 opencli