zoukankan      html  css  js  c++  java
  • Ubuntu中一次更改用户名带来的连锁反应

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

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

      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(5) for more information on "#include" directives:
     28 
     29 #includedir /etc/sudoers.d

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

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

    mv /home/csdn/ /home/cnblogs/

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

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

  • 相关阅读:
    Oracle exp/imp导出导入工具的使用
    导入导出数据语句小结
    改变一生的五句话
    给年轻工程师的十大忠告
    项目经理三步曲(项目经理成长版)
    写作、写程序的快乐和痛苦
    《Excel与VBA程序设计(mini版)》
    《3S新闻周刊》第三期发布: 解密Google Earth
    《Excel与VBA程序设计》进度(2006.3.8)
    Arc2Earth正式发布
  • 原文地址:https://www.cnblogs.com/berlin-sun/p/isnotinsudoers.html
Copyright © 2011-2022 走看看