Szy*_*Jeż 110 linux unix user-management user-accounts
我有一个用户名hedgehog
,我希望他被命名squirrel
,但我不想更改他的数字用户 ID。
我怎样才能做到这一点?
Szy*_*Jeż 164
在 Linux 下,该usermod
命令会更改用户名。它修改系统帐户文件以反映在命令行上指定的更改。
仅更改用户名:
usermod --login new_username old_username
Run Code Online (Sandbox Code Playgroud)
要更改用户名和主目录名称:
usermod --login new_username --move-home --home path_to_the_new_home_dir old_username
Run Code Online (Sandbox Code Playgroud)
您可能还想更改与用户关联的组的名称:
groupmod --new-name new_username old_username
Run Code Online (Sandbox Code Playgroud)
小智 14
注意:如果您的目录已加密,请不要尝试!如果这是您的情况,您可能需要先检查:https : //askubuntu.com/questions/107410/can-you-unencrypt-remove-encryption-from-a-user-home-folder
这样做的直接方法是:
创建一个具有 sudo 权限的新临时帐户:
sudo adduser temp
sudo adduser temp sudo
Run Code Online (Sandbox Code Playgroud)从您当前的帐户注销并使用临时帐户重新登录。
重命名您的用户名和目录:
sudo usermod -l new-username -m -d /home/new-username old-username
Run Code Online (Sandbox Code Playgroud)重命名您的用户名默认组:
sudo groupmod -n new-username old-username
Run Code Online (Sandbox Code Playgroud)从临时帐户注销并使用新用户名重新登录到您的帐户。
删除临时帐户:
sudo userdel -r temp
Run Code Online (Sandbox Code Playgroud)否则,您只需 (1) 创建一个新用户和 (2)rsync
旧用户主文件夹到新用户然后 (3)chown
它。