前段时间我安装Ubuntu后,我为我的帐户选择了一个相当愚蠢的用户名,我不想再使用了。
如何在不丢失应用程序设置的情况下更改此设置(包括我的主目录的名称和终端中的名称)?
如何保留各种身份验证的权限和密钥(例如电子邮件,SSH,GPG等)?
如果我更改了用户名,可能会丢失哪些设置?
类Unix操作系统将用户名与用户身份分离,因此您可以安全地更改名称而不会影响ID。所有权限,文件等都与您的身份(uid)相关联,而不是您的用户名。
要管理用户数据库的各个方面,请使用usermod
工具。
更改用户名(最好在不登录的情况下执行此操作):
sudo usermod -l newUsername oldUsername
但是,这不会重命名主文件夹。
要更改主文件夹,请使用
sudo usermod -d /home/newHomeDir -m newUsername
更改用户名后。
例如,你可以注销,掉到控制台( Ctrl + Alt + F1 )和sudo su -
成为真正的root(而不是sudo -s
,其中$ HOME仍然是/ home / yourname。)也许您还必须首先从该用户中删除一些仍在运行的进程。为此,请输入ps -u username
,查找匹配的PID并通过kill PID-number
将其终止。
更新:如上所述,某些文件可能会引用您的旧主目录。您可以保留符号链接以实现向后兼容,例如ln -s /home/newname /home/oldname
,或者您可以使用sed -i.bak 's/*oldname*/*newname*/g' *list of files*
它为每个扩展名为.bak的文件创建备份。
对于像我这样经验不足的用户的一些其他信息:
由于我只有一个用户帐户(管理员),它不会让我更改用户名(“您已登录”是TTY1中的响应( Ctrl + Alt + F1 )。解决这个问题:
使用您的旧凭据登录并添加新用户,例如TTY1中的“临时”:
sudo adduser temporary
设置密码。
允许临时用户通过将用户添加到sudo组来运行sudo:
sudo adduser temporary sudo
exit
命令注销。exit
(直到你得到登录提示)删除临时用户和文件夹:
sudo deluser temporary
sudo rm -r /home/temporary