首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在没有密码的情况下以其他用户身份运行脚本?

如何在没有密码的情况下以其他用户身份运行脚本?
EN

Stack Overflow用户
提问于 2011-08-02 07:33:23
回答 2查看 282.8K关注 0票数 149

我有必须作为user2运行的script.sh。但是,此脚本只能在我的应用程序中的user1下运行。

我希望运行以下命令:

代码语言:javascript
复制
su user2 -C script.sh

但是不需要密码就可以运行。

我还希望这个限制非常严格,因为在user1中只能在user2下运行script.sh,而不能在其他系统中运行。

我试过用sudoers文件做这件事,但在尝试了几个小时后,我就一直困惑不已。

如果有人能提供一个明确的例子来说明如何做到这一点(而不是像use sudoers这样的通用东西),我们将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2012-09-21 00:51:57

尝试运行:

代码语言:javascript
复制
su -c "Your command right here" -s /bin/sh username

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

票数 193
EN

Stack Overflow用户

发布于 2019-04-18 01:53:09

代码语言:javascript
复制
`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,并运行以下命令来允许它:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6905697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档