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

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

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

  1. sudo vi /etc/passwd
  2. sudo vi /etc/shadow

修改之后保存退出!

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

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

  1. sudo vi /etc/passwd

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

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

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

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

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

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

  1. mount -o rw,remount /

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

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

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

    1. adduser cnblogs sudo

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

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

    1. adduser cnblogs admin

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

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

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

  1. #
  2. # This file MUST be edited with the 'visudo' command as root.
  3. #
  4. # Please consider adding local content in /etc/sudoers.d/ instead of
  5. # directly modifying this file.
  6. #
  7. # See the man page for details on how to write a sudoers file.
  8. #
  9. Defaults env_reset
  10. Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/ sbin:/bin"
  11.  
  12. # Host alias specification
  13.  
  14. # User alias specification
  15.  
  16. # Cmnd alias specification
  17.  
  18. # User privilege specification
  19. root ALL=(ALL:ALL) ALL
  20.  
  21. # Members of the admin group may gain root privileges
  22. %admin ALL=(ALL) ALL
  23.  
  24. # Allow members of group sudo to execute any command
  25. %sudo ALL=(ALL:ALL) ALL
  26.  
  27. # See sudoers() for more information on "#include" directives:
  28.  
  29. #includedir /etc/sudoers.d

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

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

  1. mv /home/csdn/ /home/cnblogs/

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

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

Ubuntu中一次更改用户名带来的连锁反应的更多相关文章

  1. ubuntu下面更改用户名的方法

    在装HADOOP 系统时候不小心, 没有将三台机器的用户名设置为一致的用户名,导致后面发生很多麻烦.下面总结一下UBUNTU中改用户名的方法. 1.  先给系统添加一个super用户,我们用这个用户名 ...

  2. Ubuntu中彻底修改用户名及密码

    转自:http://blog.csdn.net/sailor201211/article/details/52305591 方案二:修改与用户和组相关的配置文件 这种方法更加本质,直接修改与用户和组相 ...

  3. Ubuntu中更改默认的root用户密码,以及怎样修改用户密码

    新安装的Ubuntu系统中默认的root用户密码是多少?该怎么修改? 如题,相信许多刚接触Ubuntu系统的新手大多会遇到这个问题,那么我们该如何解决这个问题呢?Ubuntu在安装过程中并没有让我们设 ...

  4. Spark在Ubuntu中搭建开发环境

    一.在Windows7中安装Ubuntu双系统 工具/原料   windows7 64位 ubuntu 16.04 32位 UltraISO最新版(用来将镜像文件烤到U盘中) 空U盘(若有文件,请先备 ...

  5. ubuntu中的Wine详解

    什么是wine?(转自百度百科,具体看百科) wine,是一款优秀的Linux系统平台下的模拟器软件,用来将Windows系统下的软件在Linux系统下稳定运行,该软件更新频繁,日臻完善,可以运行许多 ...

  6. Ubuntu中useradd和adduser的区别

    在Ubuntu中创建新用户,通常会用到两个命令:useradd和adduser,虽然作用一样,但用法却不尽相同.本文接下来便为读者带来具体的解释. AD:51CTO学院:IT精品课程在线看! 在Ubu ...

  7. 【转】ubuntu中的Wine详解

    原文网址:http://blog.csdn.net/iwtwiioi/article/details/10530561 什么是wine?(转自百度百科,具体看百科) wine,是一款优秀的Linux系 ...

  8. 在Ubuntu中建立MySQL数据库

    最近在做一个关于云计算安全系统的项目,需要用到MySQL数据库,现在把建立数据库的步骤记录下来. 一.用命令在Ubuntu上安装MySQL # sudo apt-get update # sudo a ...

  9. Ubuntu中配置Java环境变量时,出现command not found问题解决记录

    百度出Ubuntu中配置Java环境变量时,在利用sudo gedit /etc/profile 对profile编辑后, 在terminal中输入 sudo source /etc/profile, ...

随机推荐

  1. 软件工程师应该关注的web加密手段

    加密算法 1.非对称加密(公开密钥加密)       公开密钥加密,是加密和解密使用不同密钥的算法,广泛用于信息传输中. 常见的算法有:RSA.ElGamal.Rabin. 2.对称加密       ...

  2. python中json操作了解

    什么是接口? 交换数据 http://openweathermap.org/current json简介 JSON 是存储和交换文本信息的语法.类似 XML JSON 语法是 JavaScript 语 ...

  3. Verlet Integration

        Verlet Integration Verlet 积分法是一种用于求解牛顿运动方程的数值方法,被广泛运用于动力学模拟以及视频游戏中.尔莱算法的优点在于:数值稳定性比简单的欧拉方法高很多,并保 ...

  4. 九度oj 题目1177:查找

    题目描述: 读入一组字符串(待操作的),再读入一个int n记录记下来有几条命令,总共有2中命令:1.翻转  从下标为i的字符开始到i+len-1之间的字符串倒序:2.替换  命中如果第一位为1,用命 ...

  5. Struts2理解——转发和重定向

        转发和重定向设置:         <action name="deptAction" class="com.syaccp.erp.action.DeptA ...

  6. 设计模式(一)单例模式:实现 Serializable 接口之后的额外操作

    思想: 一个单例类,无论采取哪一种设计(单元素枚举类除外), 一旦间接或者直接实现 Serializable 接口,为了保证单例,就要多增加一点考虑:保证类在反序列化之后能够保证单例. public ...

  7. BZOJ-2049 [SDOI2008]洞穴勘测

    LCT模版题.... #include <cstdlib> #include <cstdio> #include <cstring> #include <al ...

  8. iOS-BMK标注&覆盖物

    在iOS开发中,地图算是一个比较重要的模块.我们常用的地图有高德地图,百度地图,谷歌地图,对于中国而言,苹果公司已经不再使用谷歌地图,官方使用的是高德地图.下面将讲述一下百度地图开发过程中的一些小的知 ...

  9. touch event 存疑

    1.原声js与借用jquery输出来的事件列表却不一样 function touchPlay(e) { e.preventDefault(); console.log(e); } var screen ...

  10. Object转json-常见问题总结

    Object转json-常见问题总结 1.Object中有Timestamp.Date等日期类型数据 http://blog.csdn.net/without0815/article/details/ ...