ubuntu下修改用户名、用户组、登录名、主目录名

今天觉得现在的用户名不够响亮,想改:

  1. usermod -l old_username new_username

这样仅改了登录名,本人强迫症重度患者,想要把老用户名从系统里清理掉,统统换成新的,查了网上资料,磕磕绊绊的,终于搞定了,总结如下。
需要修改的文件:

  • /etc/passwd
  • /etc/group
  • /etc/shadow
  • /etc/hosts
  • /etc/hostname

1. 方法

1.1 错误方式

千万不要采用网上某些人说的在当前用户下使用sudo来直接修改password等几个文件,一旦修改了passwd,用户名发生了变化,其他的用户组、密码等却没有对应的配置,就再进不了该用户了。
如果你已经这么作了(我就这么干了),不要紧,采用以下的recovery mode方式还是能搞定的。

1.2 正确的两种方式

  • 重启ubuntu,启动时按住shift不放,进入recovery mode,选择root模式进入,修改配置。
  • 如果设置了root密码的话,使用root进入系统,修改配置。

在root下修改系统文件才是正确、稳当的做法。

2. 在recovery mode环境下的修改过程

我就是采取这样的方式。

2.1 进入recovery mode,将/目录重新挂载为读/写

如果/etc是另外一个单独分区,这里就应该是重新挂载/etc分区,我的/etc是在/目录下,所以是对/目录重新挂载

  1. mount -o remount, rw /

否则修改文件时会提示:ubuntu recovery mode root readonly filesystem

2.2 修改文件

recovery mode中无法使用vi、sudo、usermod等命令,采用以下的直接修改系统文件的方式,使用nano将以下文件中的old_username全部修改为new_username,不能有遗漏:

  1. nano /etc/passwd # 更改用户名、所属组名、主目录名
  2. nano /etc/group # 更改组名,将new_username加入sudo,等
  3. nano /etc/shadow # 更改terminal中显示的用户名
  4. nano /etc/hosts # 更改terminal中显示的机器名
  5. nano /etc/hostname # 更改登录界面显示的名字

2.3 修改主目录文件夹名字

如果home没有单独分区,则直接修改:

  1. mv /home/old_username/ /home/new_username/

如果home目录有分区,在作修改前,先将home挂载起来:

  1. mount /home

修改完毕后,卸载home:

  1. umount /home

2.4 修改结束

将根目录重新挂载为只读:

  1. mount -o remount, ro /

重启电脑:

  1. reboot

3. 使用root用户的方式

3.1 修改系统配置文件

要用root登录哈!!!
参考条目2,这下就能用vi了。

3.2 命令方式(摘自网络^_^)

ctrl + alt + F1(F1到F6都可以)

  1. sudo -s 输入当前帐号密码进入root
  2. passwd 创建你的root密码
  3. passwd 原名字 # 此步应该是修改密码,会提示输入新密码
  4. chfn -f 新名字 原名字 # 修改用户名
  5. usermod -l 新名字 -d /home/新名字 -m 原名字 # 修改登录名
  6. # 如果提示有进程在使用这个目录,找到进程,kill即可
  7. groupmod -n 新名字 原名字 # 修改用户组

打完收工~~~~~


阅读更多
换一批

没有更多推荐了,返回首页