Linux sudo 使用介绍
环境信息
- Centos 7
sudo
可以配置适当的权限授予普通用户,使普通用户执行 root
用户才能执行的操作
配置 sudo
权限的主要配置文件为 /etc/sudoers
。/etc/sudoers
是一个只读文件,不能直接使用 vim
等编辑器来编辑,要修改此文件,需要以 root
用户身份使用 visudo
命令来修改。
主要配置文件内容如下
# Allow root to run any commands anywhere |
各列值含义说明:
root
第一列为用户名,如root
、users
;%wheel
以%
开头表示这是一个组,而不是用户ALL=(ALL)
第二列等号左边的ALL
表示允许从任何主机登录当前的用户账户;等号右边的ALL
表示第一列的用户可以切换成系统中任何一个其它用户(如:su users
);ALL
第三列表示第一列的用户能下达的命令,ALL
表示可以下达任何命令。NOPASSWD: ALL
意味着成员可以执行指定的命令而无需输入密码。
当我们以普通用户身份(以 test
为例)登录,在使用 sudo
命令时报出如下信息:
test is not in the sudoers file. This incident will be reported.
则说明该用户没有在 /etc/sudoers
文件中进行配置,因此无法使用 sudo
命令
AWS 的 Centos 镜像部署后的虚拟机默认使用 centos
用户登陆,登陆后即可执行 sudo su -
切换到 root
用户,此配置由 /etc/sudoers.d/90-cloud-init-users
配置,内容如下:
cat /etc/sudoers.d/90-cloud-init-users |
若要禁止此行为,删除此文件即可。