ubuntu 17.04 添加用户到sudo组

    最近在系统中安装了KVM和docker,用KVM的时候好好的,可以直接使用virsh等命令。但是安装了docker,使用docker命令时需要在前面加上sudo,这个用起来就挺麻烦的,于是想到docker安装的时候会创建一个docker的组,如果将系统中当前用户加入到docker组中,重启系统,应该使用docker命令的时候就不加sudo了,这样也就省去了不少麻烦,于是很开心的使用了如下命令:

    #sudo usermod -G docker xxx(current)(禁用此命令,后果自付)

    重新开机后,使用了一下docker images,发现命令好使,列出了本地的镜像。过了几天,再次使用电脑的时候,想用用KVM做一些事情,于是习惯的使用了virt-manager 打开KVM的管理界面,发现前几天创建的虚拟机不见了,这时后才突然想到,应该是前几天将用户加入docker组的时候,使用的命令有问题,当时添加到docker组的时候,将当前用户从其他的已添加过的组中移除了。这样也没有问题,当前用户有sudo的权限,可以使用sudo virt-manager打开管理界面。没想到输入命令后系统提示当前用户不再sudo组中,尴尬了,原来ubuntu的sudo也是一个组,哪个用户有sudo权限的话,应该会添加到sudo组中,前几天由于一个不成熟的命令导致当前用户没有sudo权限了,更尴尬的是我的系统没有装多少天,还没有来的及设置root密码,也就是说我切换不到root用户。

    唉,没办法,上网搜索吧,首先我们需要获取的是sudo权限,因为当前root还没有设置密码,也就还不能用,因此修改sudoers这个文件的路堵死了;第二部,我想能不能开机进入单用户模式修改root密码,结果从网上查,步骤好多又麻烦,并且自己从来没有弄过,有一定风险,万一弄坏了,还得花一段时间重置系统,算了;第三部,从网上找找有没有公开的ubuntu当前版本的漏洞,找一个代码提权获取root权限,结果自己水平太差,没有找到;无奈,最后一部,手边有一个装ubuntu系统时留下的U盘,想从U盘启动,之后修改sudoers文件,这样没准能够成功,插上U盘,重新启动系统,进入适用选项,找到原系统的根目录挂在路径,找到sudoers文件,编辑,结果又尴尬了,没有编辑权限,看了下sudoers文件权限,只有只读权限,于是对其添加写权限,结果还是没权限写,lsattr看看是不是还有其他权限,还提示没权限,算了,ubuntu不是有sudo组吗,在groups文件中将当前用户添加到sudo组中,这样应该也可以,于是编辑groups文件,将当前用户添加到sudo组中,重新开机,结果生效了。

    上面这一顿折腾真是挺耗费时间的,以后涉及到权限/组变更之类的命令要小心了。更正,usermod应该将用户添加到多个组,组之间用逗号隔开(待验证)。

原文地址:https://www.cnblogs.com/mingxiazhichan/p/8053288.html