红联Linux门户
Linux帮助

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

发布时间:2015-08-31 21:36:38来源:linux网站作者:两片诺氟沙星

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

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是在/目录下,所以是对/目录重新挂载

mount -o remount, rw /

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

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

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

2.3 修改主目录文件夹名字

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

mv /home/old_username/  /home/new_username/

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

mount /home

修改完毕后,卸载home:

umount /home

2.4 修改结束

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

mount -o remount, ro /

重启电脑:

reboot


3.使用root用户的方式
3.1 修改系统配置文件

要用root登录哈!!!
参考条目2,这下就能用vi了。
3.2 命令方式(摘自网络^_^)

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

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

打完收工。


Ubuntu 15.04修改用户名:http://www.linuxdiyf.com/linux/12670.html

Ubuntu 15.04和Ubuntu Kylin 15.04用户名和密码是什么:http://www.linuxdiyf.com/linux/11933.html

Ubuntu 15.04开机root登录:http://www.linuxdiyf.com/linux/13626.html

使用root账户登录ubuntu 15.04:http://www.linuxdiyf.com/linux/12693.html

Linux下获取用户主目录的方法:http://www.linuxdiyf.com/linux/357.html