Ubuntuを再インストールするときに使用できるようにシェルスクリプトを作成しようとしています。スクリプトを実行してすべてのパッケージを維持するだけです。パスワードをパラメータとして渡す予定です。
sudo
私の質問は、パスワードを手動で入力せずにドメインに入る方法です。なぜなら、端末にアクセスせずにユーザーインターフェイスを設計する計画もあるからです。
前任者:
./recover.sh password
答え1
あなたはそれを使用することができます...
echo password | sudo -S recover.sh
パスワードはsudoパスワードです。
sudo のマニュアルページで ..
-S, --stdin Write は端末装置を使用する代わりに標準エラーを表示し、標準入力からパスワードを読み込みます。
2番目の方法は
sudo -S <<< password apt-get install pkg_name
答え2
パスワードを手動で入力したくない場合は、-A
次のオプションを使用できます。sudo
-A, --askpass Normally, if sudo requires a password, it will read it from the user's terminal. If the -A (askpass) option is specified, a (possibly graphi‐ cal) helper program is executed to read the user's password and output the password to the standard output. If the SUDO_ASKPASS environment variable is set, it specifies the path to the helper program.
使い方?
パスワード(暗号化されていない)を含むファイルを作成します。
cat .pass #!/bin/bash echo password
今、あなただけが実行できるように権限を設定します。
chmod u=x,go= .pass
現在の実際の使用量
SUDO_ASKPASS="~/.pass" sudo -A <command>
これにより、すべてのコマンドを実行できます根パスワードは必要ありません
私はコンピュータに暗号化されていないパスワードを保存することをお勧めしません。非常に危険だからです。