今天觉得现在的用户名不够响亮,想改:
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