为了账号安全,请及时绑定邮箱和手机立即绑定

如何以没有密码的其他用户身份运行脚本?

如何以没有密码的其他用户身份运行脚本?

汪汪一只猫 2019-10-05 13:22:38
我有必须作为user2运行的script.sh。但是,此脚本只能在我的应用程序的user1下运行。我想运行以下命令:su user2 -C script.sh但无需密码即可运行。我也希望这是非常严格的限制,因为在user1中只能在user2下运行script.sh,而不能在其他任何情况下运行。我已经尝试过使用sudoers文件执行此操作,但经过数小时的尝试,它才变得无穷无尽。如果有人可以提供一个明确的示例说明如何完成此操作(而不是像使用sudoers这样的通用方法),将不胜感激。
查看完整描述

3 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

尝试运行:


su -c "Your command right here" -s /bin/sh username

假定您具有以该用户身份进行sudo的权限,这将以用户名运行命令。


查看完整回答
反对 回复 2019-10-05
?
智慧大石

TA贡献1946条经验 获得超3个赞

`su -c "Your command right here" -s /bin/sh username`

上面的命令是正确的,但是在Red Hat上,如果selinux强制执行,则它将不允许cron以其他用户身份执行脚本。例;  execl: couldn't exec /bin/sh

execl: Permission denied


我必须安装setroubleshoot和setools并运行以下命令来允许它:


yum install setroubleshoot setools

sealert -a /var/log/audit/audit.log

grep crond /var/log/audit/audit.log | audit2allow -M mypol

semodule -i mypol.p


查看完整回答
反对 回复 2019-10-05
  • 3 回答
  • 0 关注
  • 525 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信