我是一个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

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

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

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

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

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

图片的上面有个诺大的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,退出恢复模式,从正常模式进入系统,一切搞定!

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

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. 令人惊叹的Npm工具包

    1.http-server (简单搭建http服务器) 2.json-server (JSON服务器,快速搭建resful api接口) 3.cssnano (css多功能优化工具) PS:比uncs ...

  2. Leetcode 451.根据字符出现频率排序

    根据字符出现频率排序 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入: "tree" 输出: "eert" 解释: 'e'出现两次 ...

  3. Django创建

    Pycharm里面Django模块安装及项目创建和启动: Pycharm里面Django模块安装(也可以指定安装源): 创建Django项目: 注意切换到合适的目录进行安装 diango-admin ...

  4. C++之Effective STL学习笔记Item14

    使用reserve来避免不必要的重新分配! The reserve member function allows you to minimize the number ofreallocations ...

  5. 【Luogu】P3389高斯消元模板(矩阵高斯消元)

    题目链接 高斯消元其实是个大模拟qwq 所以就着代码食用 首先我们读入 ;i<=n;++i) ;j<=n+;++j) scanf("%lf",&s[i][j]) ...

  6. jquery 遍历find()与children()的区别

    find():返回被选元素的后代元素.后代是子.孙.曾孙,依此类推. http://blog.csdn.net/zm2714/article/details/8117978 http://www.jb ...

  7. Django标签之包含标签Inclusion tags

    Django过滤器和标签功能很强大,而且支持自定义标签,很是方便:其中一种标签是Inclusion tags,即包含标签,个人感觉比较反人类的 包含标签(Inclusion tags)通过渲染其他的模 ...

  8. 20140323组队赛 2012福建省第三届ACM省赛题目

    A - Solve equation Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u ...

  9. 洛谷 [P1948] 电话线

    二分答案 首先,最大值最小,就是二分答案 #include <iostream> #include <cstdio> #include <algorithm> #i ...

  10. 【MFC】error RC2108: expected numerical dialog constant(转)

    原文转自 http://blog.csdn.net/renyhui/article/details/23120469 [解决方案]在控件ID后面添加 "Static", SS_BI ...