![パスワードを入力せずにsuまたはsudoコマンドを実行するスクリプトを作成できますか? [コピー]](https://linux33.com/image/35727/%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%9B%E3%81%9A%E3%81%ABsu%E3%81%BE%E3%81%9F%E3%81%AFsudo%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
パスワードを入力せずにsu
実行またはコマンドできるスクリプトを作成できますか?sudo
グーグルしてみるとsu
バッファからパスワードを読めなかったと出てきますね。それでは解決策はありますか?
答え1
私が知る限り、2つの方法があります。
良い考え
特定のユーザーまたはグループの設定を指定するときは、ファイルのオプションをsudo
使用できます。ALL=NOPASSWD
/etc/sudoers
これを行う方法に関するいくつかのヒント:
悪い考え
端末デバイスの代わりに標準入力を介してパスワードを提供するオプションを使用できますsudo
。-S
たとえば、ファイルにパスワードを書き込んだ後に実行できますcat myPass.txt | sudo -S your_command
。
答え2
次の目的で使用できますexpect
。
#!/usr/bin/expect
set password "mypassword"
spawn sudo mkdir -v newdir
expect "Password:"
send -- "$password\n"
expect "mkdir: created directory 'newdir'"