我更改了用户的用户名。
命令:
killall -u 用户名 usermod -l 新用户名 旧用户名 groupmod -n 新组名称 旧组名称 usermod -d /home/新用户名-m 新用户名 usermod -c “新名称” new_username chown 新用户名:新组名 .Xauthority
我想知道将主目录从 更改为/home/test/
是否/home/ubuntu/
会影响任何应用程序。
我已经安装了 RVM、Ruby、Rails、Oracle 和其他一些软件。
答案1
它应该可以工作。
某些应用程序会将绝对路径名存储在其配置文件或其他文件中。您必须手动更改这些文件或重新设置应用程序的用户特定部分。
您可以按如下方式搜索这些文件(至少是将路径名存储为文本的文件):
find /home/new_username -type f -exec egrep -H '/home/old_username' {} \;
该命令不会修复文件。它只会帮您找到它们。您可以使用它sed
来更改文件。类似以下内容:
find /home/new_username -type f -exec egrep -l '/home/old_username' {} \;|xargs sed -i 's%/home/old_username%/home/new_username/;g'
请先测试。
请注意,有些文件可能看起来像文本文件,但实际上是二进制文件。对这些文件进行搜索和替换可能会破坏它们。
注意:您不需要使用chown -R new_username:new_groupname /home/new_username
将新主目录中文件的所有权转移给新用户,因为“新用户”的 UID 与“旧用户”相同,因此这些文件已归“新用户”所有。
答案2
对我唯一有用的是:
sudo gedit /etc/passwd
sudo gedit /etc/group
并手动做出了我想要的更改!
答案3
小更新:您必须先创建(如果不存在)管理员帐户或激活 root 帐户。输入该帐户并继续。还要耐心等待。有些进程不会立即被终止。稍等片刻,因为 usermod -l 会失败,提示您仍有一些进程正在运行。再次重复 killall