如何设置它以便su到当前登录的同一用户,即
foo$su -c 'something' foo
不需要密码?这不会添加或删除任何安全性,因为它应该是noop.
想要这个的原因是我希望有一类“root”以下的用户可以管理在该用户下运行的机器上的某些特定服务,例如news或MysqL(检查他们的数据,更改配置,重启等).这些用户将获得该帐户的sudo权限,这通常很有效,除了在某些情况下init脚本调用
su -c 'start_daemon ...' daemonuser
这导致了这个计划.当然,我可以更改init脚本或添加额外的sudo权限,但我想避免这些异常,因为从长远来看它们很难维护.
su的配置在PAM中,因此可能存在正确的魔力.
解决方法
你应该使用sudo,而不是su.使用sudo,您可以在/ etc / sudoers中指定NOPASSWD:
username ALL=/path/to/command NOPASSWD: ALL