シェルスクリプトでパッケージをインストールできますか? [コピー]

シェルスクリプトでパッケージをインストールできますか? [コピー]

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. 

使い方?

  1. パスワード(暗号化されていない)を含むファイルを作成します。

    cat .pass
    #!/bin/bash
    echo password
    
  2. 今、あなただけが実行できるように権限を設定します。

    chmod u=x,go= .pass
    
  3. 現在の実際の使用量

    SUDO_ASKPASS="~/.pass" sudo -A <command>
    

これにより、すべてのコマンドを実行できますパスワードは必要ありません

私はコンピュータに暗号化されていないパスワードを保存することをお勧めしません。非常に危険だからです。

関連情報