Linux 修改使用者帳號設定 – usermod


在 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

Leave a Reply