在 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