当前位置: 首页 > 面试题库 >

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

钦景胜
2023-03-14
问题内容

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

我想运行以下命令:

su user2 -C script.sh

但无需密码即可运行。

我也希望这是非常严格的限制,因为在user1中只能在user2下运行script.sh,而不能在其他任何情况下运行。

我已经尝试过使用sudoers文件执行此操作,但经过数小时的尝试,它才变得无穷无尽。

如果有人可以提供一个明确的示例说明如何完成此操作(而不是像使用sudoers这样的通用方法),将不胜感激。


问题答案:

调用visudo添加以下内容:

user1 ALL=(user2) NOPASSWD: /home/user2/bin/test.sh

命令路径必须是绝对的 !然后sudo -u user2 /home/user2/bin/test.shuser1外壳调用。做完了



 类似资料:
  • 问题内容: 但是我仍然不能以计算神的热爱,以不同的用户身份运行。这是我所做的步骤: 下载适用于jenkins的macosx pkg(LTS) 安装插件等和git 尝试建立它 我不断收到无法克隆的错误,因为詹金斯一直以匿名身份开始: 如何设置它,让詹金斯像我一样运行?我正在使用jenkins Web UI,因此它位于localhost:8080 我也尝试使用/ login登录,但是我什至无法使用我的

  • 问题内容: 我需要在Jenkins中以root身份而不是默认用户身份运行Shell脚本。我需要更改什么? 我的sudoers文件是这样的: 问题答案: 您必须使用以下命令运行脚本: 但是在您必须允许在中运行脚本之前。

  • 我正在尝试以root用户身份运行脚本。这是我的密码 它在出错 我也遵循了这些方法,但最终出现了错误

  • 问题内容: 服务默认在启动时在我的RHEL盒上启动。如果我没记错的话,其他使用init中的init脚本的Linux发行版也是如此。 您认为使流程以我选择的(静态)用户身份运行的最佳方法是什么? 我到达的唯一方法是使用类似以下内容的方法: 但这似乎有点不整洁… 是否存在一些魔术,可以提供一种简单的机制来像其他非root用户一样自动启动服务? 编辑: 我应该说,我在此实例中启动的进程是Python脚本

  • 问题内容: 伙计们,我需要在Ubuntu 14.04下以其他用户身份启动docker守护进程。我在sudoers和docker的组中都拥有该用户,但是,我需要的是docker守护进程以“测试”用户身份运行。 test @ test:/ usr / bin $启动docker 开始:拒绝发送消息,1条匹配规则;type =“ method_call”,sender =“:1.88”(uid = 11

  • 问题内容: 我正在处理一个写入外文件的MySQL查询。我每天或每两天运行一次此查询,因此我希望能够删除输出文件而不必求助于su或sudo。我能想到的唯一方法是将outfile写入mysql用户以外的其他人所拥有的文件。这可能吗? 编辑:我没有将输出重定向到文件,而是使用选择查询的INTO OUTFILE部分输出到文件。 如果有帮助: 问题答案: 输出文件是由mysqld进程创建的,而不是由客户端进