最近在系统中安装了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. 把app(apk和ipa文件)安装包放在服务器上供用户下方法

    怎么把app(apk和ipa文件)安装包放在服务器上供用户下载? IIS服务器网站不能下载.apk文件的原因:IIS的默认MIME类型中没有.apk文件,所以无法下载.解决办法:给.apk格式文件添加 ...

  2. 【51nod2026】Gcd and Lcm(杜教筛)

    题目传送门:51nod 我们可以先观察一下这个$f(x)=\sum_{d|x}\mu(d) \cdot d$. 首先它是个积性函数,并且$f(p^k)=1-p \ (k>0)$,这说明函数$f( ...

  3. Flask+gevent-websocket模块实现websocket

    后端代码: from flask import Flask,request from geventwebsocket.handler import WebSocketHandler from geve ...

  4. Struts2自定义标签重写(转)

    TagSupport的学习 1 TagSupport与BodyTagSupport的区别 TagSupport与BodyTagSupport的区别主要是标签处理类是否需要与标签体交互,如果不需要交互的 ...

  5. django 发送邮件功能

    setting.py # 邮件配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.e ...

  6. 【换根dp】9.22小偷

    换根都不会了 题目大意 给定一棵$n$个点的树和树上一撮关键点,求到所有$m$个关键点距离的最大值$dis_{max}\le LIM$的点的个数. $n,m\le 30000,LIM\le 30000 ...

  7. 用JS将毫秒转化成天时分秒的时间格式

    function formatDuring(mss) { var days = parseInt(mss / (1000 * 60 * 60 * 24)); var hours = parseInt( ...

  8. sql防止注入的技巧

    from Stack Overflow Here is a similar solution which I think is more efficient in building up the li ...

  9. @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解

    最近写项目中突然发现有人再controller层写@PostMapping,这对于经常用@RequestMapping的我来说,感到跟奇怪,网上搜寻了一些资料,特在此整合一下: Spring4.3中引 ...

  10. Springboot项目关闭Httpclient的Debug日志

    今天在做httpclient测试时,发现控制台打印了好多请求相关的信息,如何去掉这些不打印? (2)在配置文件包下加入logback.xml文件,文件内容如下: <?xml version=&q ...