如何在不提示密码的情况下以不同的用户身份运行shell脚本
问题描述:
我有一个shell脚本moveInvoice.sh,其中chmod 777权限为用户test1,所有其他脚本都在用户test2下。如何在不提示密码的情况下以不同的用户身份运行shell脚本
现在我需要从TEST2调用moveInvoice.sh我尝试以下
sudo -c
sudo -u
但这一切都给予许可被拒绝。有没有其他的方式使它与test2用户一起运行?
一次手动我能执行那么我就需要通过增加visudo命令一个NOPASSWD
选项来把这个crontab中
答
您可以在Linux上建立一个用户可以不使用密码执行sudo。
以root身份运行sudo visudo
,然后根据特权规范将您的用户添加为SOMEUSER ALL=(ALL) NOPASSWD: ALL
。
现在,SOMEUSER
将能够运行没有密码的sudo命令。
尝试使用linux acl – Rups
我无法使用acl bcos它需要安装实用程序。由于它是办公室网络,我们没有任何root权限来安装。所以任何命令行命令都会有帮助。 – Sanvi
为''setuid()'[Here's](https://stackoverflow.com/a/24919588/4162356)“脚本编写一个二进制包装器示例。 –