[linux]CentOS执行sudo提示xxx is not in the sudoers file

本文详细介绍了解决CentOS系统中用户无法使用sudo命令的问题,包括如何切换至root用户、编辑sudoers文件以赋予特定用户sudo权限,以及如何将用户添加到wheel组中。

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

问题

通过博客:VMware安装Centos7超详细过程(图文) 在win10下通过虚拟新安装的CentOS系统中,选择连接方式时选了桥接模式,看评论都说使用桥接模式无法获取ip地址,于是参考博客:VMware 虚拟机NAT模式如何设置网络连接,从头到尾全过程~!! 将centos的连接方式改为NAT模式。

然而在切换到root用户后执行命令:sudo vi   /etc/sysconfig/network-scripts/ifcfg-ens33 后终端报错

xxx is not in the sudoers file. This incident will be reported.

报错原因

CentOS默认创建的用户并没有sudo命令的执行权限,而且CentOS中也并不存在sudo用户组。

不同于CentOSUbuntu在安装后默认创建的用户属于sudo用户组,因此可以使用sudo命令。

解决办法 

1. 输入:"su -"(注意有空格),回车,输入装机时第一个设置的root密码,进入超级用户模式。

su 的语法为:su [-] username
#后面可以跟”-”也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户。

2.1 输入:visudo进入/etc/sudoers文件,让当前用户拥有sudo的权利。

ps:直接输入visudo命令即可,不需要后面跟文件名,后面什么参数也不加,否则会报usage: visudo [-chqsV] [-f sudoers]

普通用户切换到root身份后,仍然不能使用sudo命令,只有root预先设定的用户才能在切换后使用sudo命令。这是为了安全考虑:如果每个普通用户都能切换到root身份,当某个用户不小心泄漏了root的密码,系统就非常的不安全。

为了改进这个问题,产生了sudo这个命令。默认只有root用户能使用sudo命令,普通用户想要使用sudo,是需要root预先设定的,使用visudo命令去编辑相关的配置文件/etc/sudoers。如果没有visudo这个命令,请使用” yum install -y sudo”安装;经过root预先设定的用户可以使用sudo执行一个root才能执行的命令,但是需要输入密码,这个密码并不是root的密码而是用户自己的密码。

/etc/sudoers文件部分内容如下:

默认root能够sudo是因为这个文件中有一行” root ALL=(ALL) ALL”

wheel这个组的所有用户都拥有了sudo的权利,接下来就需要你把想让有sudo权利的所有用户加入到wheel这个组中。

2.2 将当前用户加入wheel组中:usermod -G wheel username

3. 现在可使用切换后的超级用户模式操作。


编辑文件:

vi 文件路径

i:进入INSERT模式

esc:退出INSERT模式

:wq!:保存后退出

:q!:不保存退出

Ctrl+Z键结束ping

可以通过-c参数指定ping命令运行次数:

ping -c 4 www.baidu.com

执行4次ping命令后自动停止

参考:Linux 用户身份切换,su和sudo区别

CentOS执行sudo提示xxx is not in the sudoers file

CENTOS将用户添加到sudo组中的方法

已解决:CENTOS下怎样终止ping退出ping命令界面?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值