sudo执行命令时报错:不在 sudoers 文件中。此事将被报告。

当普通用户在Ubuntu上使用sudo执行命令时遇到'不在sudoers文件中。此事将被报告'的错误,可以通过以下步骤解决:1. 切换到root用户并修改sudoers文件权限为777;2. 编辑/etc/sudoers文件,添加普通用户的权限;3. 切换回普通用户,问题即可解决。确保sudoers文件权限改回只读以保持系统安全。

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

普通用户sudo 执行命令时报错:不在 sudoers 文件中。此事将被报告。

[LOEXAM@lotus-wxj log]$ sudo netstat -tulnp |grep 3306

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] LOEXAM 的密码:
LOEXAM 不在 sudoers 文件中。此事将被报告。

解决方法:
1、切换到root用户,查看/etc/sudoers的权限,若root无编辑权限,则修改成
chmod 777 /etc/sudoers
2、编辑文件:vi /etc/sudoers 在root ALL=(ALL) ALL下加一行普通的用户的权限,eg:
LOEXAM ALL=(ALL) ALL,如下图所示:
在这里插入图片描述
3、再切回到普通用户:su LOEXAM,再执行命令

[root@lotus-wxj ~]# su LOEXAM
[LOEXAM@lotus-wxj root]$ sudo netstat -tulnp|grep 631
sudo: /etc/sudoers 可被任何人写
sudo: 没有找到有效的 sudoers 资源,退出
sudo: 无法初始化策略插件

解决方法:把sudoers的文件权限改为只读,再执行命令就ok了

[root@lotus-wxj ~]# chmod 444 /etc/sudoers
[LOEXAM@lotus-wxj root]$ sudo netstat -t
[sudo] LOEXAM 的密码:
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q
<think>好的,我现在需要帮用户解决“c103 不在 sudoers 文件中。此事将被报告”的错误。首先,我应该回忆一下Linux系统中sudoers文件的作用。sudoers文件控制哪些用户和组有权使用sudo命令。如果用户没有被添加到这个文件中,尝试使用sudo报错。 用户提到的错误信息明确说明用户c103不在sudoers文件中,所以解决方案应该是将c103添加到该文件中。不过,修改sudoers文件需要管理员权限,所以用户可能需要使用现有的有sudo权限的账户,比如root或者另一个管理员账户。 首先,用户需要以root身份或者有sudo权限的用户登录。然后使用visudo命令来编辑sudoers文件,因为visudo会检查语法错误,避免配置错误导致系统问题。在sudoers文件中,找到“用户权限规范”部分,添加一行:c103 ALL=(ALL:ALL) ALL,这行配置允许c103在所有主机上执行所有命令。保存并退出后,用户c103应该就能使用sudo了。 需要注意的是,如果用户当前没有任何可用的管理员账户,可能需要进入恢复模式或者使用Live CD来修改系统文件,但这比较复杂,可能超出一般用户的操作能力。因此,在回答中应该强调必须有一个已有权限的账户来执行这些步骤。 另外,用户提供的引用[1]中提到了使用crontab进行任务调度,这可能和sudoers的配置无关,但引用中的步骤涉及权限问题,比如给脚本执行权限,这可能对用户理解权限管理有帮助。不过主要问题还是sudoers文件的配置,所以重点应放在那里。 最后,要提醒用户谨慎修改sudoers文件,避免语法错误,并且不要随意赋予普通用户过高的权限,以防安全风险。可能还需要解释不同配置选项的含义,比如ALL=(ALL:ALL) ALL的具体作用,让用户了解每个部分的含义,以便根据实际需要调整。</think>### 解决方案 出现错误提示`c103 不在 sudoers 文件中`,说明当前用户`c103`未被授权使用`sudo`命令。需通过以下步骤将其添加到`sudoers`文件: 1. **使用管理员账户登录** 需通过已有管理员权限的账户(如`root`或已配置`sudo`权限的普通用户)操作。若系统中无其他管理员账户,需通过恢复模式或Live CD修改系统文件(复杂操作,需谨慎)。 2. **编辑sudoers文件** 通过`visudo`命令安全编辑配置文件(自动检查语法): ```bash sudo visudo ``` 若当前无可用管理员账户,需切换至`root`用户: ```bash su root visudo ``` 3. **添加用户权限** 在文件中找到`# User privilege specification`部分,添加以下内容: ``` c103 ALL=(ALL:ALL) ALL ``` 保存并退出(按`Ctrl+X`,输入`Y`确认)。 4. **验证配置** 切换至用户`c103`,执行命令测试: ```bash sudo ls ``` 若不再报错,则配置成功[^1]。 --- ### 注意事项 - **权限最小化原则**:若仅需部分权限,可细化配置,例如仅允许执行特定命令: ``` c103 ALL=(ALL) /usr/bin/apt-get ``` - **避免直接修改文件**:使用`visudo`可防止因语法错误导致系统无法使用`sudo`。 - **用户组配置**:更安全的方式是将用户加入`sudo`组(需系统支持): ```bash usermod -aG sudo c103 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值