普通用户开通sudo权限:xxx is not in the sudoers file.This incident will be reported.的解决方法

1.切换到root用户下,怎么切换就不用说了吧,不会的自己百度去.

2.添加sudo文件的写权限,命令是:
chmod u+w /etc/sudoers

3.编辑sudoers文件
vi /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)

ps:这里说下你可以sudoers添加下面四行中任意一条
youuser            ALL=(ALL)                ALL
%youuser           ALL=(ALL)                ALL
youuser            ALL=(ALL)                NOPASSWD: ALL
%youuser           ALL=(ALL)                NOPASSWD: ALL

第一行:允许用户youuser执行sudo命令(需要输入密码).
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.

4.撤销sudoers文件写权限,命令:
chmod u-w /etc/sudoers

这样普通用户就可以使用sudo了.
<think> 我们面临的问题是用户lxx不在sudoers文件中,导致无法使用sudo命令。根据引用[2]可知,sudoers文件控制着哪些用户可以使用sudo命令。因此,我们需要将用户lxx添加到sudoers文件中。 但是,当前用户lxx无法使用sudo,所以我们无法直接编辑sudoers文件(因为编辑sudoers文件通常需要使用sudo命令运行visudo)。因此,我们需要通过其他途径来编辑sudoers文件。 可能的解决方案: 1. 使用root用户(如果知道root密码)登录,然后添加lxx到sudoers文件。 2. 如果系统允许,通过其他具有sudo权限的用户来添加lxx。 3. 如果系统没有其他管理员用户,且不知道root密码,可能需要进入单用户模式(recovery mode)来修改。 由于用户可能没有root密码或者其他管理员账户,这里我们重点介绍通过单用户模式(recovery mode)修改sudoers文件的方法。注意:此操作需要物理访问或虚拟机控制台访问权限。 ### 步骤一:进入单用户模式(恢复模式) 1. 重启计算机,在GRUB启动菜单出现时,按`e`键编辑启动参数。 2. 找到以`linux`或`linuxefi`开头的行,在该行末尾添加: ``` init=/bin/bash ``` 或者(对于较新内核): ``` systemd.unit=rescue.target ``` 具体取决于系统使用的init系统。这里我们假设使用systemd,那么添加`systemd.unit=rescue.target`。 3. 按`Ctrl+X`或`F10`启动进入单用户模式。 ### 步骤二:以读写模式重新挂载根文件系统 进入单用户模式后,根文件系统通常是只读挂载的,需要重新挂载为读写: ```bash mount -o remount,rw / ``` ### 步骤三:编辑sudoers文件 ```bash visudo ``` 注意:在单用户模式下,可能没有设置编辑器,可以使用环境变量指定: ```bash EDITOR=nano visudo ``` 或者直接编辑文件(不推荐,但如果没有visudo): ```bash nano /etc/sudoers ``` 在文件中找到一行: ``` root ALL=(ALL) ALL ``` 在下面添加一行: ``` lxx ALL=(ALL) ALL ``` 保存并退出。 ### 步骤四:重启系统 ```bash reboot -f ``` ### 替代方法:使用pkexec(如果可用) 如果系统上安装了polkit,并且当前用户有权限使用pkexec,可以尝试: ```bash pkexec visudo ``` 但是,由于用户不在sudoers中,通常pkexec也会要求管理员密码(即root密码),所以此方法可能不可行。 ### 注意事项 - 编辑sudoers文件时一定要小心,错误的语法可能导致所有sudo使用失败。 - 推荐使用`visudo`命令,因为它会在保存时检查语法。 ### 验证 重启后,以用户lxx登录,运行: ```bash sudo -v ``` 如果没有提示错误,则说明添加成功。 ### 相关问题 §§相关问题§§ 1. 如何将用户添加到sudoers文件而不使用sudo? 2. 单用户模式下如何修改系统文件? 3. 如何配置sudoers文件以允许特定命令? 4. 忘记root密码后如何重置? 5. sudoers文件的语法规则有哪些注意事项? </think> ### 解决用户 lxx 不在 sudoers 文件中的问题 #### 📌 核心问题分析 当前用户 `lxx` 无 sudo 权限的根本原因是: 1. 用户未在 `/etc/sudoers` 文件中配置 2. 用户**不属于任何具有 sudo 权限的组**(如 `wheel` 或 `sudo` 组) 3. 系统权限配置文件未更新(引用[2]) #### 🔧 解决方案(需 root 权限) 请按顺序执行以下操作: --- ##### 步骤 1:切换到 root 用户 ```bash su - # 输入 root 密码进入特权模式 ``` ##### 步骤 2:将 lxx 加入 sudoers 文件 ```bash visudo # 使用安全编辑工具 ``` 在文件中添加配置: ```config # 允许 lxx 执行所有命令(引用[2]) lxx ALL=(ALL) ALL # 或加入管理员组(推荐,更安全) lxx ALL=(ALL) NOPASSWD: ALL # 免密码执行 ``` > 📍 **关键位置**:在 `## User privilege specification` 区块下方添加(引用[2]) ##### 步骤 3:或将用户加入特权组 ```bash # 适用于基于 wheel 组的系统(如 Arch/RHEL) usermod -aG wheel lxx # 适用于基于 sudo 组的系统(如 Debian/Ubuntu) usermod -aG sudo lxx ``` ##### 步骤 4:启用 sudo 日志(可选) ```bash # 添加日志记录(引用[3]) echo 'Defaults logfile="/var/log/sudo"' >> /etc/sudoers ``` ##### 步骤 5:验证配置 ```bash # 检查组成员 groups lxx # 应显示 wheel 或 sudo # 测试 sudo 权限 su - lxx sudo whoami # 应返回 root ``` #### ⚠️ 注意事项 1. 若 `visudo` 不可用,可直接编辑: ```bash nano /etc/sudoers # 必须确保语法正确! ``` 2. 文件语法要求: - 每行一条规则 - 组名前加 `%`(如 `%wheel`) - 避免使用 TAB 键(用空格缩进) #### 🔍 故障排查 若仍报错 `user lxx not in sudoers`: 1. 检查 `/etc/sudoers.d/` 目录是否有冲突配置 2. 验证用户组是否生效: ```bash id lxx # 检查附加组 ``` 3. 重启系统使组策略生效 --- ### 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值