【CentOS】Sudo提权出现:xx用户不在sudoers文件中解决

本文介绍了解决Linux系统中sudo提权出现用户不在sudoers文件中的问题。通过两种方法进行配置文件修改,使得指定用户能够顺利获得管理员权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sudo提权出现:xx用户不在sudoers文件中解决

症状

终端使用sudo提权出现:

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

解决

出现这个问题是sudo的配置文件出错,修改sudo的配置文件即可解决

使用su 切换到root,然后终端执行: 
sudo gedit /etc/sudoers 
 
Defaults    env_reset 
Defaults    mail_badpass 
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 
 
# Host alias specification 
 
# User alias specification 
 
# Cmnd alias specification 
 
# User privilege specification 
root    ALL=(ALL:ALL) ALL 
# Members of the admin group may gain root privileges 
�min ALL=(ALL:ALL) ALL 
 
# Allow members of group sudo to execute any command 
%sudo    ALL=(ALL) ALL 
xx       ALL=(ALL) ALL  (将此处的XX修改为出现改问题的用户名!) 
 

保存文件退出即可解决

第二种1、进入超级用户模式。也就是输入"``` su -

2、添加文件的写权限。也就是输入命令"```
chmod u+w /etc/sudoers
```"。 
3、编辑/etc/sudoers文件。也就是输入命令"```
vi /etc/sudoers
```",输入"i"进入编辑模式,找到这一 行:"```
root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL
```"(这里的xxx是你的用户名),然后保存(就是先按一 下Esc键,然后输入":wq")退出。 
4、撤销文件的写权限。也就是输入命令```
"chmod u-w /etc/sudoers"
```。

转载于:https://my.oschina.net/whitejavadog/blog/757086

<think>好的,我现在需要帮用户解决这个问题。用户在执行“sudo su”时遇到了错误示:“kylin 不是 sudoers 文件”。首先,我得理解这个问题的原因。 用户可能是在尝试切换到root用户,但他们的当前用户kylin没有被添加到sudoers列表中。这意味着kylin没有限使用sudo命令。通常,在Linux系统中,只有被授用户才能使用sudo来执行特命令。 接下来,我应该考虑如何解决这个问题。解决方法通常是修改sudoers文件,将kylin用户添加进去。但这里有个问题:如果用户现在无法使用sudo,那他们需要另一个有sudo限的用户来操作,或者直接以root身份登录。 用户可能没有其他有限的用户,所以可能需要通过root账户来修改。如果系统允许root登录,用户可以通过su root(如果有root密码)来切换,然后使用visudo命令编辑sudoers文件。或者,如果是在物理机上,可以进入单用户模式修改。 需要注意的是,直接编辑/etc/sudoers文件有风险,使用visudo是更安全的方法,因为它会在保存前检查语法错误。如果用户不小心配置错误,可能导致无法使用sudo,甚至系统管理问题。 另外,用户可能是在新安装的系统上,或者kylin用户是被误删除了sudo限。这时候需要指导用户如何正确添加用户sudo组。例如,在Debian/Ubuntu系统中,通常是将用户加入sudo组,而在RedHat/CentOS中则是wheel组。 还应该用户,修改sudoers文件时,要确保至少有一个用户保留sudo限,否则可能会被锁在外面。如果用户是唯一的管理员,这一点尤其重要。 总结步骤的话,应该是:1. 切换到root用户;2. 使用visudo添加kylin到sudoers;3. 验证是否成功。同时,用户注意限和安全问题,避免直接编辑文件导致错误。</think>当你在Linux系统中执行`sudo su`命令时出现`kylin 不在 sudoers 文件中`错误,这意味着你的当前用户`kylin`没有获得使用sudo命令的限。以下是逐步解决方案: --- ### 错误原因分析 1. **sudo机制限制**:只有被写入`/etc/sudoers`文件或属于具有sudo限的用户组(如`sudo`或`wheel`组)的用户,才能使用sudo命令 2. **当前状态**:用户`kylin`既不在sudoers列表中,也不在用户组中 --- ### 解决方法 #### 方法1:通过root用户添加限(需知道root密码) 1. 切换至root用户: ```bash su - root ``` (需要输入root用户的密码) 2. 使用`visudo`命令编辑sudoers文件: ```bash visudo ``` 3. 在文件中添加以下内容: ```bash kylin ALL=(ALL:ALL) ALL ``` 或直接加入sudo组: ```bash usermod -aG sudo kylin # Debian/Ubuntu系 usermod -aG wheel kylin # RedHat/CentOS系 ``` 4. 退出root用户: ```bash exit ``` #### 方法2:单用户模式修改(物理机适用) 1. 重启系统,在GRUB引导界面按`e`键进入编辑模式 2. 找到以`linux`开头的行,在行尾添加: ```bash init=/bin/bash ``` 3. 按`Ctrl+X`进入单用户模式 4. 重新挂载根分区为可写: ```bash mount -o remount,rw / ``` 5. 使用`visudo`添加kylin用户限(同方法1步骤2-3) 6. 重启系统 --- ### 验证配置 ```bash su - kylin sudo -l ``` 此时应显示`kylin 可以以 root 身份运行所有命令` --- ### 注意事项 1. **限最小化原则**:建议使用`kylin ALL=(ALL:ALL) ALL`而非直接赋予root限 2. **安全警告**:不要直接编辑`/etc/sudoers`文件,必须使用`visudo`命令(自动语法检查) 3. **备用方案**:如果误操作导致sudo配置损坏,可通过`pkexec visudo`恢复(需PolicyKit支持)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值