Answers:
是的,这是可能的。
在/ etc / sudoers中,等于之后的项目是允许用户以该命令执行的用户。
tom ALL=(oracle) /bin/chown tom *
用户(tom)可以键入sudo -u oracle / bin / chown tom / home / oracle / oraclefile
在您的/ etc / sudoers中添加类似
tom ALL=(oracle) ALL
然后,用户tom应该能够使用sudo使用带有-u选项的oracle用户身份运行东西,而不必让tom
即以oracle用户身份获取shell(好吧,鉴于您的sudo足够新,可以使用-i选项)。
sudo -u oracle -i
tom ALL=(oracle)NOPASSWD:ALL
来使sudo不询问密码
例如,我想允许Tom DBA su到oracle用户,而不是tomcat用户或root。
我最近需要对系统执行此操作,并且很难找到我几年前使用的替代设置(也允许使用语法)的注释su <user>
。在我的情况下,我需要允许多个用户共享su
一个特定的用户。
使用addgroup <groupName>
其他用户su
无需密码即可创建的组。然后将该组添加到您希望su
无需密码即可对每个用户进行登录的每个用户:(
usermod -a -G <groupName> <userName>
或usermod -a -G oracle tom
)。在下次登录之前,组更改可能不会生效。
注意:在您的情况下,您已经有了组,因为oracle
使用设置oracle用户时会创建组adduser oracle
。
现在,编辑/etc/pam.d/su
以下内容:
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
..add auth规则行,因此该部分如下所示:
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
auth [success=ignore default=1] pam_succeed_if.so user = <groupName>
auth sufficient pam_succeed_if.so use_uid user ingroup <groupName>
在这种情况下,请替换<groupName>
为oracle
。这将允许这是部分的任何用户<groupName>
,以su <groupName>
现在tom
可以su oracle
,如果需要给其他用户相同的访问权限,请将其添加到oracle
组中。
类似的问题在这里