Linux 修改系统帐号使用者名称及 UID


在 Linux 要修改系统帐号的使用者名称或 UID, 需要使用 usermod 指令完成。以下是在 Linux 下修改使用者名称、UID、使用者家目录的方法。

在修改使用者名称前, 需要先确定该帐号目前并没有登入, 以及没有 process 正在执行, 如果帐号已经登入或有 process 正在执行, 使用 usermod 后会出现以下错误:

usermod: user tom is currently used by process xxxx

要先把帐号执行的 process 终止, 以及强制把帐号登出:

# pkill -u old-login pid
# pkill -9 -u old-login

修改使用者名称

以下是修改使用者名称的 usermod 语法:

# usermod -l new-name old-name

以上指令会将原本是 old-name 的帐号, 改成 new-name, 但家目录并未修改.

修改使用者 UID

修改使用者 UID 的语法:

# usermod -u UID username

上面指令会将 username 帐号的 UID 改为 UID, UID 必须是并未使用的数字, 而 0 – 99 是预留给系统默认帐号使用, 所以要避免使用.

然后一同把帐号的群组也更新:

# groupmod -n new-login old-login

如果帐号的名称是 new-login, 但家目录在 /home/old-login, 那好像怪怪的, 所以连同家目录也一同修改:

# usermod -d /home/new-login -m new-login

Leave a Reply