1

最初にユーザーにパスワードを要求し、それを変数に格納して、スクリプトがルートアクセスを必要とするたびに使用できるようにするシェルスクリプトを作成しようとしています。

私の考えは、次のようなことをすることでした:

read -s "Please enter your password: " PASSWORD

echo -e $PASSWORD | su -c 'do some root action here'

しかし、それは機能していません。これはどのように達成できますか?

編集 わかりましたので、期待して調査を開始しました。これは、これまでに得たものです。

#!/usr/bin/env bash

user=$(whoami)

echo "Pleas enter your root password. [Followed by Enter]"
read -s "Password:" PASSWORD

/usr/bin/expect <<EOD
spawn su -c 'echo \"$user ALL=(ALL) ALL\" >> /etc/sudoers'
expect "Password:"
send $PASSWORD
interact
EOD

したがって、これは機能していませんが、ターミナルから取得した出力は、目標に近づいているように見えます。

これを解決するのを手伝ってくれる人はいますか?

ありがとうございました。

4

0 に答える 0