CentOS普通用户添加sudo权限

Use knowledge to wipe out ignorance. ——《叫我第一名》

要用知识来打败无知。

  Ubuntu中默认是禁用了root账户,在安装系统时建立的用户,默认是添加到了sudoers中。在CentOS中,并没有把root之外的用户添加到sudoers中,所以在执行sudo命令时就会出现以下错误:

或者是:

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

既然想要添加权限的用户不在sudoers,那就把它添加进去。

查找sudoers文件

1
whereis sudoers


我们发现sudoers这个文件在/etc/sudoers

修改sudoers权限

先看一下sudoers的权限,发现是root下只读权限

1
ll /etc/sudoers


那就修改一下吧,切换到root用户,给sudoers文件添加写权限,并查看是否添加成功

1
2
3
su root
chmod u+w /etc/sudoers
ll /etc/sudoers

编辑sudoers文件

打开sudoers文件

1
vim /etc/sudoers

在大概100行的位置,即root ALL=(ALL) ALL,在它的下面加入yoursuser ALL=(ALL)

ps: 在vim的命令行模式下输入: set number 可以显示文件行数。

也可以是以下内容:

1
2
3
4
yoursuser ALL=(ALL) ALL                # 允许用户yoursuser执行sudo命令(需要输入密码)
%yoursuser ALL=(ALL) ALL # 允许用户组yoursuser里面的用户执行sudo命令(需要输入密码)
yoursuser ALL=(ALL) NOPASSWD: ALL # 允许用户yoursuser执行sudo命令,并且在执行的时候不输入密码
%yoursuser ALL=(ALL) NOPASSWD: ALL # 允许用户组yoursuser里面的用户执行sudo命令,并且在执行的时候不输入密码

还原sudoers文件权限

如果不还原文件权限,系统不允许执行sudoers文件
还原sudoers文件权限,并查看是否还原成功

1
2
chmod u-w /etc/sudoers
ll /etc/sudoers

使用普通用户验证sudo权限

切换到普通用户,使用sudo命令,发现已经可以正常执行了。

1
2
su yoursuser
sudo yum update

PS: 本博文所有yoursuser均代表你想要修改权限的用户名。