zoukankan      html  css  js  c++  java
  • ubuntu 12.04.1 普通用户丢失sudo权限 root没有密码 解决办法

    起因是这样:
    本来是想体验一下acl,创建了两个用户,一个用户组,并把原来的用户一起加入到这个用户组里

    $ usermod +G acluser jck   <= 没有加-a

    悲剧就此发生了,usermod如果不加-a,是会把原来的附加组信息都擦掉重写的
    原来jck的附加组里面有samba,sudo等一系列用户组,都没有了,只有jck和acluser了
    而且ubuntu默认是不设置root密码的,至此,root权限和这台机器说拜拜了

    解决办法:

    1.按照网上所说可以进recovery模式,不需要root密码即可获得root权限的shell,然后可以设置密码

    走一个:

    重启后(因为没有root权限,所以是暴利的...),在grub选项(“如果GRUB菜单隐藏,可以按Esc调出,如果设置了GRUB密码,按p来解锁”,据说啊据说)选择recovery mode,一般会是第二个,然后就出现上图的内容,选择root......那一项,会看到地下黑框框里的内容,输入密码或者按Ctrl+D。

    到这里你会发现不行的(至少我是这样),我没有root密码,Ctrl+D会返回到刚进入这个界面的情况...

    难道改版本了?真是太不科学了,我放弃了这个方法。

    2.修改grub启动项的内容,进入单人维护模式

    重启,看到grub选项时,在正常进系统那个选项(通常是第一个)按“e”编辑,会看到如下内容,我的是这样的

    在光标所在一行(linux...那一行)添加如下内容

    ro quiet splash rw single init=/bin/bash

    将会变成下面这样

    然后Ctrl+x启动,两三秒中就会进入到一个root权限的shell里了,图我忘了截了

    然后你可以为所欲为,当然这里给root加个密码就得了

    # passwd root

    设置完密码系统会有提示,重启(命令都是不好用的,直接Ctrl+Alt+DEL)

    进入系统后,切换到root,找到这个文件“/etc/sudoers”,查看一下权限内容

    # ll /etc/sudoers
    -r--r----- 1 root root 745 Jan 17 17:03 /etc/sudoers

    你懂得,把他改成可写的

    # chmod 640 /etc/sudoers
    # ll /etc/sudoers
    -rw-r----- 1 root root 745 Jan 17 17:03 /etc/sudoers

    打开,找到“root    ALL=(ALL:ALL) ALL”,在下面添一行一模一样的,用户名换成你的

    root    ALL=(ALL:ALL) ALL
    cec     ALL=(ALL:ALL) ALL

    保存退出,然后再把权限改回来就成了,在把root密码注释掉,我的系统就变成原来的样子了

    但是sudo的用户组好想还没加进来呀...不管了 :-)

    若未特殊声明,本博客内容均为作者原创并首发于博客园。欢迎转载,但转载后必须在明显位置给出作者以及原文链接,否则保留追究法律责任的权利。

    作者博客:http://www.cnblogs.com/sarshes/

  • 相关阅读:
    插件化架构深入剖析<一>-----插庄式实现Activity跳转机制剖析
    网易云音乐动态式换肤框架分析与手写实现<三>
    网易云音乐动态式换肤框架分析与手写实现<二>
    网易云音乐动态式换肤框架分析与手写实现<一>
    跨进程架构HermesEventBus原理分析到手写实现<三>
    在eclipse里用jdbc连接MySQL
    jdk环境变量配置
    oracle设置主键自增
    关于Navicat连接oralcle出现Cannot load OCI DLL 87,126,193 ,ORA-28547等错误
    Oracle 11g 安装过程及测试方法
  • 原文地址:https://www.cnblogs.com/sarshes/p/2865085.html
Copyright © 2011-2022 走看看