質問: シェルスクリプトでパスワードを非表示にする シェルスクリプトでパスワードを非表示にするにはどうすればよいですか?データベースにアクセスしている多くのスクリプトがあります。スクリプトを開くと、他のユーザーもユーザー名とパスワードを認識します。だから誰かが隠す方法を知っているなら私に知らせてください。私には1つの方法があります。パスワードをファイルに入れ、そのファイルを非表示にして、誰もファイルにアクセスしないようにします(アクセス許可を変更し、データベースにアクセスするときにスクリプトでファイルを使用します)。
回答: 他の答えはhowに対応していますが、私はwhetherについて検討します。ユーザーが接続しているデータベースの種類に応じて、クライアントプログラムで既に使用されている適切なメカニズムがすでにある場合があります。その場合は、必ずそれらを使用してください(~/.mysqlrcまたは~/.pgpass)。複数のユーザーがデータベースにアクセスして、共有アカウントを使用して特定のクエリを実行できるようにする場合は、おそらく許可しないでください。代わりに、データベースにアカウントがあり、それらのアカウントに必要以上の権限がないことを確認してください(おそらく、そのほとんどを読み取り、書き込みアクセスはほとんどありません)。他の方法ではアクセスできない特定のテーブルに対して特定のクエリを実行する必要がある場合は、ストアドプロシージャにsecurty definerを提供して、アクセスを許可します。上記のいずれでも資格情報を保存する必要がない場合は、then他の回答をここで読んでください。