sudo权限问题考察一题  su -   sudo su -    sudo su - test

[root@localhost ~]# su - zzx   #root用户进行切换不需要输入密码

[zzx@localhost ~]$ su - zzy    #这时需要输入zzy的密码

[zzy@localhost ~]$ su - zzx   #输入zzx的密码才能由zzx切换到zzy

[zzx@localhost ~]$ su -   #zzx切换到root  输入root密码

[zzy@localhost ~]$ sudo su -zzx

[sudo] password for zzy:           #输入zzy密码  提示如下  ,说明zzy没有sudo权限  需要visudo授权

zzy 不在 sudoers 文件中。此事将被报告。

切换到root进行visudo授权

[zzy@localhost ~]$ su -

[root@localhost ~]# visudo  #root行下添加

98 root ALL=(ALL) ALL
99 zzy ALL=(ALL) ALL

[zzy@localhost ~]$ sudo su - zzx   #此时zzy有了sudo权限
[sudo] password for zzy:               #输入zzy的密码就可以切换到zzx
上一次登录:六 4月 11 13:59:45 CST 2015pts/0 上
[zzx@localhost ~]$   #这时zzx没有sudo权限  要用sudo su - 切换到zzy 是不行的  只能用  su - zzy  用root权限进行切换

打开上网客户端、新立得,这些涉及到系统的都要输入密码,对于我们大多数人来说,用Linux无非是做桌面应用,对安全性没必要搞得跟服务器一些。下面是我的一个解决办法:

在启动时进入安全模式,这时是用root登录的,执行: (注:下面这些命令都是要加:sudo的,或者开一个窗口:sudo su - 切换到root界面来操作)

chmod 740 /etc/sudoers

然后打开/etc/sudoers这个文件,把最后一行:

%admin ALL=(ALL) 
改为 
%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL

保存退出。

执行: 
chmod 0440 /etc/sudoers   (注:这个地方千万要注意,一定要设置成044,而不能设置成777,如果是777的话,并且你还忘记了root的密码的话,之后就不能使用sudo了)

reboot your ubuntu.OK! 

 
 
单用户
 

不得不说,有时候手贱的把/etc/sudoers文件权限改了,是一件很蛋疼的事.因为此时你会发现无论做什么都会弹出一条讨厌的提示,说没有权限执行等等...

网上有介绍登入root用户,或者去grub的recovery mode选项去选择root模式进入,再去用chmod把/etc/sudoers的权限改回来.但是你可能从来没设置过root密码,或者你根本就不知道root密码是多少.或者即便进入了recovery mode选项去选择root模式,当执行chmod的时候却发现read-only file system.这时,同学们也许只能仰天长啸了...

下面的方法可谓终极解决之道(本人在ubuntu12.04版本亲测,其他版本也许不同).

1. 启动ubuntu的时候按下shift键,注意是一直按住,也是进入grub list栏;

2. 选择第二个recovery mode模式,注意,选择之后不是按回车(enter),而是按e键编辑引导命令;

3. 然后修改倒数第三行里面的“ro recovery nomodeset”改为"rw single init=/bin/bash",最下面有按键的提示.(注意:ro是只读模式read only,rw是读写模式read write);

4. 修改完之后按Ctrl-x或F10进入单用户模式(此时做什么操作都可以);

5. 输入“chmod 0440 /etc/sudoers”将/etc/sudoers的权限改回来(同时,这里可以设置root密码,输入“passwd root”,然后回车,输入密码,要两次.注意,密码不会出现***);

6. 重启,只能使用“ctrl+alt+delete”,其他的都不行.

把/etc/sudoers里面最后一行
%admin ALL=(ALL)
改为
%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL

sudo: /etc/sudoers is mode 0777, should be 0440 单用户 sudo不用输入密码的方法的更多相关文章

  1. sudo: /etc/sudoers is mode 0777, should be 0440终极解决之道

    不得不说,有时候手贱的把/etc/sudoers文件权限改了,是一件很蛋疼的事.因为此时你会发现无论做什么都会弹出一条讨厌的提示,说没有权限执行等等... 网上有介绍登入root用户,或者去grub的 ...

  2. sudo: /etc/sudoers is mode 0640, should be 0440解决办法

    ubuntu或者CentOS中,/etc/sudoer 的权限为 0440时才能正常使用,否则sudo命令就不能正常使用.出现类似:sudo: /etc/sudoers is mode 0640, s ...

  3. [转]Linux/Ubuntu sudo不用输入密码的方法

      通常我们并不以root身份登录,但是当我们执行某些命令 (command)时需要用到root权限,我们通常都是用"sudo command"来执行command.由于使用Ubu ...

  4. Linux/Ubuntu sudo不用输入密码的方法

    通常我们并不以root身份登录,但是当我们执行某些命令 (command)时需要用到root权限,我们通常都是用"sudo command"来执行command.由于使用Ubunt ...

  5. sudo: /etc/sudoers is world writable

    错误信息: sudo: /etc/sudoers is world writable sudo: no valid sudoers sources found, quitting 解决办法: 修复磁盘 ...

  6. sudo: /etc/sudoers 的模式为 0551,应为 0440

    环境:Ubuntu 12.04.4 LTS 32bit 本想修改/etc/sudoers文件,取消sudo权限的密码.但是因为sudoers文件无‘w’(写)的权限,然后用命令加写权限的时候加错了,加 ...

  7. sudo 和 sudoers设置

    转: http://www.cnblogs.com/zhuowei/archive/2009/04/13/1435190.html sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许 ...

  8. SUDO:/ETC/SUDOERS 可被任何人写 解决方案

    问题一: sudo: /etc/sudoers is world writablesudo: no valid sudoers sources found, quittingsudo: unable ...

  9. sudo: /etc/sudoers is world writable sudo: no valid sudoers sources found, q...

    今天操作/etc/sudoers 文件,因为该文件只读,所以sudo chmod 777 /etc/sudoers ,结果可以修改这个文件了,但是导致所有用户的sudo都不能用了 是因为在Linux中 ...

随机推荐

  1. 【php】PHP现代框架代表-Laravel框架核心技术特性

    一.php语言特点及发展现状 1.服务端脚本语言,自由度太大 ,一个业务逻辑可言写在模型里,控制器里,也可以单独封装成一个类,甚至可以嵌入到html里,这样势必会造成混乱,业务逻辑散落在各处,尤其对于 ...

  2. doc转docx

    # -*- coding: utf-8-*- import win32com from win32com.client import Dispatch w = win32com.client.Disp ...

  3. [LeetCode] 929. Unique Email Addresses 独特的邮件地址

    Every email consists of a local name and a domain name, separated by the @ sign. For example, in ali ...

  4. SQL语句对MySQL数据库的操作之对数据库层面的操作

    一.数据库内部存储结构 字段->数据表->数据库->MySQL服务器 二.登录及退出数据库 mysql -h服务器地址 -u用户名 -p密码(这样的登录形式并不安全) mysql - ...

  5. 五十八、SAP中常用预定义数据类型

    一.SAP中常用预定义数据类型 注意事项如下: 1.默认的定义数据类型是CHAR. 2.取值的时候C型默认从左取,N型从右取,超过定义长度则截断. 3.C类型,可以赋值数值,也可以赋值字符,还可以混合 ...

  6. 042-PHP使用闭包函数递归无限级分类

    <?php //使用闭包函数递归无限级分类 function demo($array){ # 用于存储递归后的队列 $data = []; # 递归函数 $func = function (&a ...

  7. 面试题(9)之 leetcode-189

    题目描述 解法一: /** * @param {number[]} nums * @param {number} k * @return {void} Do not return anything, ...

  8. Swift 访问权限

    internal 内部的 1.默认情况下所有的类&属性&方法的访问权限都是internal 2.在本模块(项目/包/target)中可以访问 private 私有的 1.只有在本类中访 ...

  9. 操作CLOB数据——oracle

    DECLARE V_UPDATE CLOB := '{"cpc_msg_tel":"15098025316","cvm_money":&qu ...

  10. idea新建java项目

    盘符下新建一个目录: 打开idea: Open -> 新建的目录: 右击目录 -> new -> module: 填写模块名 -> finish: file -> pro ...