sudo のパスワード入力を手入力から自動に変える方法
$ sudo ls
とかした場合、当たり前だが入力プロンプトが出てパスワードを要求される。
でも手で入力せずにそのまま自動で進めてほしいケースもあるはず。
そんなとき、セキュアではないが、シェルスクリプト内にパスワードを直書きしておいて、それを読み込んで実行する方法について述べる。
パスワードをパイプ経由で渡す
以下のように、パスワードをパイプ経由で渡せば良い。
(一旦変数に格納しているが、1行なら変数に入れなくても直接で良い。何行もsudoがある場合はうざいので変数にしただけ)
$ vi hoge.sh
#!/bin/bash
PASSWORD=password
echo $PASSWORD | sudo -S ls
$ chmod +x hoge.sh
大事な点は -S オプションをつけること。これがないとだめ。
これでパスワードを要求されずにsudo実行できる!
以上!