を助けてください。 セキュリティ上の理由から、あなたには良いことではないかもしれません。
user user2 = NOPASSWD: /usr/local/bin/script.sh
あなたが持っている別のオプション:sudo
を使用しますが、いくつかのスクリプトから直接ではない実行されますが、pexpect
またはexpect
を使用して、あなたのためのパスワードを入力すること。これは、セキュリティ上の観点からも理想的ではないかもしれません。スクリプトにパスワードを保存する必要があるからです。あなたが何かを行うことができますexpect
で
:
#!/usr/bin/expect
set password "megapassword"
spawn /bin/sudo -u user1 /usr/local/bin/script.sh
expect "password for user:"
send "$password\r"
expect eof
は、そのファイルに500パーミッションを設定することを忘れないでください。 pexpect
で
(つまり、Pythonのモジュールである)、これは次のようになります。あなたはcron
でコマンドを実行し、USER1のcrontabファイルにコマンドを追加することができれば、あなたもそれを行うことができます
import pexpect
password = "megapassword"
p = pexpect.spawn("sudo -u user1 /usr/local/bin/script.sh")
i = p.expect([".ssword:*", pexpect.EOF])
p.sendline(password)
。それが最善の解決策かもしれません。
user1$ crontab -e
Stack Overflowのこの「オフトピック」のことは決して理解できません。質問の技術を知らない人や質問自体を理解していない人が使用することがよくあります。 – DaveRlz