私はスクリプトを使用して、mysql 接続にパスワードを渡しています:
mysql -u root -p'mypass'
つまり、--execute を使用してその行でタスクを実行できます。
多くの StackExchange フォーラムで、コマンドラインでパスワードを渡すことは、ps スニッフィングの可能性があるため、あまり推奨されないと見てきました。そこで、実行中のプロセスを表示するだけで、実際に MySQL パスワードを取得できるかどうかを確認しようとしています。私が実行できたのは、次の 1 つだけです。
ps -p 4034 -o command
しかし、私が得た答えは次のとおりです。
COMMAND
mysql -u root -px xxxxxxxxxx
(mysql は 4034 pid で実行されています) システムはデフォルトでパスワードを「暗号化」しているようです。そこで質問なのですが、コマンド ラインからパラメータとしてパスワードを取得することは本当に可能なのでしょうか?
答え1
システムに snoopy がインストールされている場合 (auth.log にコマンドが記録されます)、そこから取得できますが、bash の履歴にも記録されます。
また、スクリプトはスクリプト内から読み取ることができるため、スクリプトはどこにありますか?