suコマンドを呼び出すときに隠されたパスワードを表示しますか? [コピー]

suコマンドを呼び出すときに隠されたパスワードを表示しますか? [コピー]

suコマンドを使用したのは今回が初めてで、実際には端末にパスワードが表示され、隠されていません。私のコードスニペットは次のとおりです。

sshpass -p "password" ssh -q [email protected] "su -lc 'mkdir temp/'"

コード説明:リモートサーバーにアクセスし、そのサーバーにrootとしてフォルダを作成しようとしています。これを行うには、パスワードを要求するsuコマンドを使用する必要があります。パスワードを入力すると、隠されずに表示されます。

答え1

私はあなたが使うべきだと思いますsudo

sshpass -p "password" ssh -q [email protected] "sudo mkdir temp/"

sudoを使用すると、パスワードなしでmkdirを実行することもできます。実行visudoし、次の行を追加します your_username ALL=(ALL)NOPASSWD:/usr/bin/mkdir。お客様のアカウントが破損した場合、セキュリティ上のリスクが発生する可能性があります。

また、このコマンドのユースケースに適している場合は、SSHの公開鍵認証を設定できます。その後、 'sshpass'を削除し、単に 。ssh -q [email protected] "sudo mkdir temp/"

関連情報