再来说一说sudo

app        ALL = (ALL:ALL) ALL

eric.zhan ALL = (app : app) ALL
Defaults:eric.zhan runas_default=app

如果在/etc/sudoers中添加这么一段,原本的想法是将eric.zhan可以提权到app用户,但存在隐患

eric.zhan$ sudo bash

passwd --------

app$ sudo bash

passwd --------

root#

note1:

如果想在sudo的时候不输入密码,这么设定

eric.zhan  ALL = (app:app) NOPASSWD: ALL

如果想只给使用部分命令的权限,且不输入密码:

eric.zhan ALL = (ALL:ALL) NOPASSWD:/usr/bin/passwd

============================================================================

1.这样设定:

app ALL=(ALL:ALL) ALL

如果知道app用户的密码,可以通过如下方法直接进入到root

sudo bash
sudo su -

当然有sudo到root的权限其实什么都可以做了,只是用上面的命令会更爽一些。

2.这样设定:

app ALL=(ALL:ALL) ALL
binhoul ALL = (app:app) ALL
Defaults:binhoul runas_default=app

还是可以进入到root,但要知道密码

sudo sudo su -
或者
sudo sudo bash

3.可以这样设定:

User_Alias  ADMINS = pro1, pro2, pro3, myuser1
ADMINS ALL=(root)  /bin/su -

不可以执行其他命令,su -到root用户下执行

4.其他的设定:

Defaults:zabbix !requiretty

这个在zabbix执行外部命令时会出现no tty类似的错误,在sudo中添加这一行,关于zabbix完整的sudo配置如下:

Defaults:zabbix    !requiretty
zabbix  ALL = (other_user) NOPASSWD: ALL
zabbix  ALL = (root) NOPASSWD: ZABBIX_CMD
原文地址:https://www.cnblogs.com/silenceli/p/3549245.html