xx is not in the sudoers file 问题解决

本文介绍如何在CentOS系统中将普通用户添加到sudoers文件中,以获得临时的超级用户权限。通过修改sudoers文件,可以实现对特定用户的权限管理,增强系统的安全性。

转至http://www.cnblogs.com/evasnowind/archive/2011/02/04/1949113.html

在ubuntu中由于禁用了root用户,默认情况下会把安装系统时建立的用户添加到sudoers中。但在redhat和centos中并没有把任何root用户之外的用户默认的添加到sudoers之中。这样我们在执行sudo 命令时就会出现xxx is not in the sudoers file. This incident will be reported.这样的错误输出。现在为了安全起见比较提倡使用普通用户做日常操作,而在需要超级用户的时候使用sudo 来做,这样,我们就有必要把一些用户添加到sudoers之中。

其实把用户添加到sudoers之中很简单。
首先利用whereis 命令查找sudoers配置文件的目录(默认会在/etc/sudoers)
[root@localhost xiaofei]# whereis sudoers
sudoers: /etc/sudoers /etc/sudoers.bak /usr/share/man/man5/sudoers.5.gz
然后需要切换到root用户,更改/etc/sudoers的权限
[root@localhost xiaofei]# chmod u+w /etc/sudoers
然后就可以利用vi编辑器来把用户添加到sudoers之中
[root@localhost xiaofei]# vi /etc/sudoers
然后找到root    ALL=(ALL)       ALL所在的位置,把所要添加的用户添加到文件之中,

顺便提一下vi编辑器的用法。刚进入vi编辑器的时候牌命令行模式,这时可以通过方向键来移动光标,找到要编辑的位置之后按下“i”,然后就进入了插入模 式,这时候你可以输入或删除字符。编辑完成之后按“esc”键退出插入模式,进入命令行模式,这时候按“:”可以进入末行模式,输入“wq”保存并退出。

下面是添加完的结果。
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
xiaofei ALL=(ALL)       ALL              (这一行是添加的内容,xiaofei是我的用户名)
然后需要把sudoers 的写权限去掉(否则系统不允许执行suoders文件):
[root@localhost xiaofei]# chmod u-w /etc/sudoers
至此,在退出root用户之后就可以利用sudo命令来执行超级用户的权限了。
当出现 'zl is not in the sudoers file' 错误,意味着用户 'zl' 没有被授权使用 `sudo` 命令,以下是解决问题的方法: ### 以 root 用户身份编辑 sudoers 文件 1. **登录 root 用户**:如果可以直接登录 root 用户,通过以下命令登录: ```bash su - ``` 输入 root 用户的密码后即可登录。 2. **编辑 sudoers 文件**:使用 `visudo` 命令编辑 `/etc/sudoers` 文件,该命令会在保存时检查语法错误。 ```bash visudo ``` 3. **添加用户权限**:在文件中找到类似如下的行: ```plaintext root ALL=(ALL:ALL) ALL ``` 在其下方添加新的行来赋予用户 'zl' sudo 权限: ```plaintext zl ALL=(ALL:ALL) ALL ``` 这里的含义是用户 'zl' 可以在所有主机上以任何用户的身份执行任何命令。 4. **保存并退出**:在 `visudo` 中,按 `Ctrl + X`,然后按 `Y` 确认保存,最后按 `Enter` 退出。 ### 通过已有 sudo 权限用户添加 如果无法直接登录 root 用户,但有其他拥有 sudo 权限的用户,可以使用该用户登录后进行操作。 1. **使用已有 sudo 用户登录**:登录到拥有 sudo 权限的用户账户。 2. **编辑 sudoers 文件**:使用 `sudo visudo` 命令编辑 `/etc/sudoers` 文件。 ```bash sudo visudo ``` 后续步骤与以 root 用户编辑时相同,添加用户 'zl' 的权限后保存退出。 ### 将用户添加到 sudo 组 在一些系统中,将用户添加到 `sudo` 组也可以使其拥有 sudo 权限。 1. **使用已有 sudo 用户登录**:登录到拥有 sudo 权限的用户账户。 2. **添加用户到 sudo 组**:使用以下命令将用户 'zl' 添加到 `sudo` 组。 ```bash sudo usermod -aG sudo zl ``` 这里 `-a` 表示追加,`-G` 用于指定组名。 添加完成后,用户 'zl' 需要重新登录才能使更改生效。 ```bash su - zl ``` 通过以上方法,可以解决 'zl is not in the sudoers file' 的问题,让用户 'zl' 能够使用 `sudo` 命令。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值