最近在系统中安装了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应该将用户添加到多个组,组之间用逗号隔开(待验证)。

ubuntu 17.04 添加用户到sudo组的更多相关文章

  1. linux下添加用户到sudo组 并禁止sudo用户修改密码

    linux下添加用户到sudo组 创建用户  useradd hanli 为新用户设置密码  passwd hanli 创建用户组  groupadd  op 将用户添加到用户组  usermod - ...

  2. linux下添加用户到sudo组

    #查看当前用户所属组groups #查看指定用户hiuser所属组groups hiuser #添加用户hiuser到sudo组sudo usermod -G sudo hiuser

  3. 本地编译全志R系列的步骤7(Ubuntu 17.04非长期支持版本)

    本地编译全志R系列的步骤7(Ubuntu 17.04非长期支持版本) 2017/6/29 13:49 0.获取全志R系列的Android源码包: 请通过渠道/代理商/方案公司获取全志R系列的Andro ...

  4. ubuntu下mysql添加用户的问题

    在ubuntu下使用命令: $:sudo apt-get install mysql-server 命令安装的Mysql 版本为:Server version: 5.7.13-0ubuntu0.16. ...

  5. Ubuntu 17.04版本下,opencv进行源码编译安装

    本文主要针对Ubuntu 17.04版本下,opencv进行源码编译安装.开发环境主要针对python 对 openCV库的调用. 安装 gcc cmake 编译环境 sudo apt-get ins ...

  6. Ubuntu 17.04 允许使用root ssh登录

    用ubuntu 17.04部署完docker后,用winscp去管理系统上的文件发现默认的管理员账号权限不够,想重新用root登录,发现一只被服务器拒绝(permission denied).已经执行 ...

  7. [转]ubuntu 12.04添加launcher方法

    [转]ubuntu 12.04添加launcher方法 http://www.cnblogs.com/Jerryshome/archive/2012/08/21/2649500.html 对ubunt ...

  8. Ubuntu 17.04 安装

    不忘初心,方得始终. 今天听别人说17.04发布了,我是开心的不得了,赶紧下载了一个,准备安装在自己的本子上.这段时间已经花费了更多的时间在docker和OpenStack上面,没时间看新闻了,因此今 ...

  9. 添加用户到 sudo

    sudo 简介: 在 Linux 中系统管理员可以通过 sudo 实用程序让用户或组能够作为另一个用户运行命令.换句话说,可以分派命令特权,而不需要另一个用户的密码.root 用户通过在 /etc/s ...

随机推荐

  1. JavaScript基本使用

    基本使用 1.JavaScript组成 ECMAScript+BOM+DOM BOM的思想(重点) DOM的思想(重点) 2.使用<script></script>标签 doc ...

  2. 安卓开发之sql语句增删改查

    package com.lidaochen.phonecall; import android.content.Context; import android.database.sqlite.SQLi ...

  3. ubuntu安装交叉编译器

    # sudo apt-get install gcc-arm-linux-gnueabi # sudo apt-get install g++-arm-linux-gnueabi 官方下载 https ...

  4. XGBOOST in WIN64 安装

    参考:https://blog.csdn.net/zyghs/article/details/50897716 环境 platform:windows 10,64位 Python: Python3.7 ...

  5. docker container 导入和导出

    目录 docker container 导入和导出 1.前言 2.docker container 的导出 3.docker container 的导入 4.镜像和容器 导出和导入的区别 docker ...

  6. 在VS2017添加MVC项目

    以前一直是用vs2012 MVC直接可以找到 在公司用的是vs2017  今天想创建一个MVC,和vs不同啊!!! 居然找不到MVC  然后找找找  ,突然想到创建asp.net 项目的时候发现了MV ...

  7. 8. Object References, Mutability, and Recycling

    1. Variables Are Not Boxes # Think variables as sticky notes a = [1, 2, 3] b = a a.append(4) print b ...

  8. 02 js原型链

    1 js原型链是一个绕不开的话题.直接上说吧. /** * 1. js里的原型链是怎么样的? 带class 和不带class的原型链的不同. */ const util = require('util ...

  9. Educational Codeforces Round 37 (Rated for Div. 2)C. Swap Adjacent Elements (思维,前缀和)

    Educational Codeforces Round 37 (Rated for Div. 2)C. Swap Adjacent Elements time limit per test 1 se ...

  10. new函数

    可以通过new函数直接创建一个类型的指针 变量名:=new(Type) 使用new函数创建的指针已有指向,可以使用*指针对象进行赋值. func main() { a := new(int) fmt. ...