我是系统管理员,我不希望用户使用su - $appuser
并尝试输入应用程序用户的密码
相当
使用sudo su - $appuser
并输入自己的密码。
一些不知情的天真用户会尝试su - $appuser
输入错误的密码,如果输入错误密码,应用程序用户会在 3 次尝试失败后被锁定(由 AD 团队定义;无法更改)。我们希望强迫用户使用sudo su -
这能实现吗?
答案1
好吧,你总是可以使用传统的 BSD 路线......
创建一个群组 -车轮是传统的名字...
将允许使用的用户添加su
到该组中 - 在您的情况下,没有(可能除了根, 但根无论如何都是允许的)。
将组所有权设置su
为车轮
带走其他的执行权su
到最后su
应该有词根:轮子所有权,其权限应为:rws--x---(即chmod u=rwxs,g=x,o= su
)(或者更好;--s--x--- ;即chmod u=xs,g=x,o= su
)
这将阻止任何人,除了根以及成员车轮从执行su
.由于sudo
有效使用使任何用户根,sudo su ...
也应该有效。
答案2
如果您使用的系统使用 PAM(例如,几乎所有 Linux 系统),那么您还有更多选择。
- 编辑
/etc/pam.d/su
并添加一行,就像su auth required pam_wheel.so
在 LDAP/AD/等之前一样。验证。这wheel
通过 PAM 而不是文件所有权为您提供组。您还可以使用 做更灵活的事情pam_succeed_if
。 - 编辑相同的内容,然后将
auth sufficient pam_rootok.so
(让root使用su
)更改为auth required pam_rootok.so
(让仅有的root 使用su
),或者放在auth required pam_deny.so
某个时刻。 - 同一个文件,您可以执行类似
auth required pam_succeed_if.so uid ne $appuser
阻止su
应用程序用户之类的操作。
我提前道歉,我没有测试过其中任何一个。