用户不在sudoers文件中解决方法以及sudoer文件修改错误后的恢复方法

原创 2015年11月18日 15:04:32

在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开。普通用户执行到系统程序时,需要临时提升权限,sudo就是我们常用的命令,仅需要输入当前用户密码,便可以完成权限的临时提升。在使用sudo命令的过程中,我们经常会遇到当前用户不在sudoers文件中的提示信息,如果解决该问题呢?通过下面几个步骤,可以很简单的解决此问题。

    1、切换到root用户权限

Last login: Tue Sep 24 20:50:51 2013 from 192.168.30.171
[user@Compile ~]$ su root
密码:
[root@Compile user]#

(如果用的是Ubuntu,则为 "sudo su")

    2、查看/etc/sudoers文件权限,,如果只读权限,修改为可写权限

[root@Compile user]# ls -l /etc/sudoers
-r--r-----. 1 root root 4030 9月  25 00:57 /etc/sudoers
[root@Compile user]# chmod 777 /etc/sudoers
[root@Compile user]# ls -l /etc/sudoers
-rwxrwxrwx. 1 root root 4030 9月  25 00:57 /etc/sudoers
[root@Compile user]#

    3、执行vi命令,编辑/etc/sudoers文件,添加要提升权限的用户;在文件中找到root  ALL=(ALL) ALL,在该行下添加提升权限的用户信息,如:

root    ALL=(ALL)       ALL
user    ALL=(ALL)       ALL

说明:格式为(用户名    网络中的主机=(执行命令的目标用户)    执行的命令范围)

    4、保存退出,并恢复/etc/sudoers的访问权限为440

[root@Compile user]# chmod 440 /etc/sudoers
[root@Compile user]# ls -l /etc/sudoers
-r--r-----. 1 root root 4030 9月  25 00:57 /etc/sudoers
[root@Compile user]#

    5、切换到普通用户,测试用户权限提升功能


在上面的操作中如意出现这样的问题:如果把sudoer文件修改错误怎么办,我这边遇到的具体问题是在sudoers文件中添加user    ALL=(ALL)       ALL这条语句是,只添加了user,未添加ALL=(ALL)       ALL就保存退出了,并切换到了普通用户。此时,如果普通用户在此使用sudoer su命令时,系统提示sudoers文件中有语法错误,导致命令不能执行,所以不能进入root权限,而sudoers又只能在root权限下才能修改。

解决方法:

1,重启系统

2,启动时按shift,选择recovery mode,此时就是以root权限进入系统了,在这里对/etc/sudoers文件进行修改

3,/etc/sudoers默认是只读文件,所以先改变他的属性,输入chmod 440 /etc/sudoers

4,如果提示没有权限,或者不允许修改,就先输入 

mount -o remount rw /

然后更改权限即可。

如果内容有错误,可以vi /etc/sudoers 进入修改。或者将以前添加的错误部分删除再保存。



将用户添加到sudoer列表

默认情况下,linux没有将当前用户列入到sudoer列表中(在redhat系列的linux发行版中最为常见),这时如果你使用sudo来执行某些命令的话,就会提示你该用户不再sudoer列表中。这时,...
  • xin_xin521
  • xin_xin521
  • 2013年04月02日 18:14
  • 2273

CentOS 7 添加普通用户到sudoer

在平常的普通的操作中,使用root用户进行登录是很危险的,通常情况下,CentOS没有将普通用户添加至sudoer中(这句话有点废话,显而易见的道理),在CenOS7.x中,使用root用户登录,键入...
  • helloyuchaofei
  • helloyuchaofei
  • 2015年08月04日 08:15
  • 2544

sudo配置文件/etc/sudoers详解及实战用法

一、sudo执行命令的流程 将当前用户切换到超级用户下,或切换到指定的用户下, 然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户。 具体工作过程如下: 当用户执行sudo...
  • Field_Yang
  • Field_Yang
  • 2016年05月31日 17:56
  • 22804

linux下因修改/etc/sudoers 从而导致sudo命令无法使用

linux下因修改/etc/sudoers 从而导致sudo命令无法使用 报错如下: ~$ sudo   sudo: >>> /etc/sudoers:syntax error 在行 21 附近   ...
  • zm2015
  • zm2015
  • 2015年05月09日 15:26
  • 2905

修改/etc/sudoers权限

在往/etc/sudoers文件添加用户时,修改了sudoers文件权限为777,后面s通过sudo chmod 0440 /etc/sudoers也改不回去,提示sudoers文件权限应该为0440...
  • luoqindong
  • luoqindong
  • 2014年02月17日 14:23
  • 11074

linux sudoers修改导致不能在终端使用sudo 和su的解决方法

首先要严正声明:如果不是非常必要,请不要擅自修改/etc/sudoers里的内容 如果终端执行sudo 相关指令,但是提示 用户名不在sudoers文件中,...
  • zwlq1314521
  • zwlq1314521
  • 2014年10月27日 16:16
  • 6088

用户不在sudoers文件中的解决方法

在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开。普通用户执行到系统程序时,需要临时提升权限...
  • AttaGain
  • AttaGain
  • 2013年09月24日 18:58
  • 75886

为用户增加sudo权限(修改sudoers文件)

在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开。普通用户执行到系统程序时,需要临时提升权限...
  • iamonlyme
  • iamonlyme
  • 2014年04月10日 13:50
  • 2488

用户名 不在 sudoers文件中,此事将被报告。

继续昨天的故事 话说昨天新建了一个帐号linc,今天在执行sudo时回显一个很吓人的信息: [sudo] password for linc: linc 不在 sudoers 文件中。此事将被报告。...
  • lincyang
  • lincyang
  • 2014年03月11日 16:11
  • 68956

ubuntu14.04 /etc/sudoers文件损坏修复

jin
  • github_22672485
  • github_22672485
  • 2014年10月29日 21:26
  • 6216
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用户不在sudoers文件中解决方法以及sudoer文件修改错误后的恢复方法
举报原因:
原因补充:

(最多只允许输入30个字)