Centos7提示" xxx 不在 sudoers 文件中。此事将被报告。"

本文介绍了解决Nginx安装过程中遇到的权限错误的方法。通过编辑sudoers文件为特定用户分配临时权限,使普通用户能够执行Nginx配置命令。

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

一、问题描述


在安装Nginx的过程中以普通用户执行以下命令:


sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

提示


[sudo] password for fendo: 
Sorry, try again.
[sudo] password for fendo: 
fendo 不在 sudoers 文件中。此事将被报告。


二、解决方法


使用root用户登录


su  
cd /etc  
chmod 740 sudoers  
vim sudoers




末尾加上


fendo   ALL=(root) ALL, !/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root



上面的指令就是说, 给账户 fendo 除了修改其他账户密码之外的所有操作权限,然后保存退出即可。


注:

也可以直接输入命令visudo,他会自动打开/etc/sudoers

### 解决 CentOS 7 虚拟机用户不在 `sudoers` 文件中的问题 当遇到“用户不在 sudoers 文件中”的错误时,意味着当前用户未被授予超级用户权限。为了修复此问题并赋予特定用户必要的权限,可以采取以下措施: #### 修改 `/etc/sudoers` 文件以添加新用户 对于具有管理员访问权的情况,可以通过直接编辑系统的 `sudoers` 配置来解决问题。 1. **获取临时的 root 权限** 如果有其他方式获得 root 访问(例如通过物理控制台或者云服务提供商管理界面),那么可以直接切换至 root 用户来进行更改[^2]。 2. **调整文件权限以便于编辑** 使用命令 `chmod u+w /etc/sudoers` 更改文件属性使其可写入,从而允许后续操作对其进行修改[^3]。 3. **利用文本编辑器更新配置** 执行如下指令打开 `sudoers` 文件: ```bash vim /etc/sudoers ``` 4. **增加新的条目给目标账户授权** 寻找现有的一行定义如 `root ALL=(ALL) ALL` ,在其下方追加一行用于指定希望拥有相同权利的新用户名字,格式为 `<username> ALL=(ALL) ALL` 。这一步骤确保了所选用户能够在任何上下文中执行任意命令作为超级用户身份运行[^4]。 5. **恢复原始保护模式** 完成上述改动之后立即撤回之前给予额外写的许可,即再次应用严格的读取只权限:`chmod u-w /etc/sudoers` 。 #### 当前环境缺乏 root 接近手段时的选择方案 如果无法轻易取得更高层次的操作资格,则考虑借助外部资源或求助具备相应能力的人士协助处理。另外一种方法是尝试重启机器进入单用户模式,在那里通常不需要验证即可享有完全掌控力去修正相关设置[^5]。 ```bash # 单用户模式下的典型流程可能涉及这些步骤之一 mount -o remount,rw / vi /etc/sudoers ``` 以上就是针对 CentOS 7 中因缺少适当权限而产生的 “用户不在 sudoers 文件中” 错误的具体应对策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值