• 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/

  • 相关阅读:
    卸载cuda,以及N卡驱动
    ubuntu 16.04 从gcc 5.4 安装gcc 5.3.0
    Check failed: status == CUBLAS_STATUS_SUCCESS (13 vs. 0) CUBLAS_STATUS_EXECUTION_FAILED
    ubuntu16.04 caffe cuda9.1 segnet nvidia gpu安装注意的点
    ubuntu16.04安装docker
    进程管理
    Dev TextEdit 只输入数字
    dev gridcontrol添加右键菜单
    WinForm rdlc 报表自定义datatable数据源
    DevExpress GridControl使用方法总结2 属性说明
  • 原文地址:https://www.cnblogs.com/sarshes/p/2865085.html
Copyright © 2020-2023  润新知