我是一个ubuntu新手,接触ubuntu半年不到,装系统的时候输入了一个用户名,但是最近突然想更名了,这是悲剧的开始!

google:ubuntu change username等相关的关键字,最终采用了如下的解决方案:

使用sudo命令,修改下面几个文件,比如我现在的用户名是:csdn,想修改为cnblogs,我们需要修改文件中csdn为cnblogs:

sudo vi /etc/passwd
sudo vi /etc/shadow

修改之后保存退出!

悲剧发生在重启之后,重启之后用户名果然已经变成了cnblogs,好开心有木有,熟练输入之前的密码,进入系统:

发现了个新问题,当前目录是/home/csdn/,这不是坑呢嘛,重新打开/etc/passwd,发现之前修改的时候疏忽了,需要重新修改一下,把之前的/home/csdn/修改为/home/cnblogs/(PS:这个可以不修改,但是我是强迫症),这个不是小case嘛,come on,baby,在terminal中输入如下:

sudo vi /etc/passwd

然后悲剧了,问题出来了,如下图所示:

Ubuntu中一次更改用户名带来的连锁反应-LMLPHP

好,看看我现在的状况,我之前只有这么一个admin帐号,现在被我修改了,没法使用root权限,我尝试这去切换到root,几次尝试,失败,密码不对,后来google之后得知,ubuntu的root默认是没有设置的,并不是空的意思,而是密码会是随机的,除非你之前有过设置root密码,可惜我没有!

好吧,root的路到此断了,change思路!

突然想到每次boot到ubuntu的时候会有个选项是Booting into recovery model,这个瞬间触发了我,好吧,进入恢复模式看看吧,死马当作活马医咯!

进入恢复模式,如下图所示:

Ubuntu中一次更改用户名带来的连锁反应-LMLPHP

图片的上面有个诺大的read-only,是的,我们要做点小手脚,我们选择root选项,,然后直接可以在下面输入代码了,代码上图已经贴出来:

mount -o rw,remount /

好了,现在可以自由修改咯,是不是很带感,小伙伴们疯狂吧,嚎叫吧!

不同的情况需要采取不同的方式了,请大家留神哈:

  • ubuntu12.04及其以上,采用如下方式,给你的user增加sudo权限:

    adduser cnblogs sudo

  (PS:注意此处的cnblogs更改为你最新修改之后的用户名!)

  • ubuntu11.04,11.10按照如下方式修改:

    adduser cnblogs admin

    好了,sudo权限已经有了,为了防止有什么问题,我们进行如下验证,备份当前的/etc/sudoers文件,并打开观察它:

sudo cp /etc/sudoers /etc/sudoers.backup
sudo vi /etc/sudoers

打开之后,检查是否如下所示:

   #
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/ sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification
root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL # Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL # See sudoers() for more information on "#include" directives: #includedir /etc/sudoers.d

是不是觉得大功告成了,还差那么一小步骤,还记得我之前修改home目录的事情不?

继续修改吧,首先修改/etc/passwd中的路径,然后重命名之前的路径:

mv /home/csdn/ /home/cnblogs/

好了,终于全部结束了,输入exit,退出恢复模式,从正常模式进入系统,一切搞定!

感谢大家的阅读,希望能够给大家带来帮助!

05-11 22:17