su を非対話的に実行していますか?

su を非対話的に実行していますか?

それで、サーバーからロックアウトされてしまいました (sshd が応答を停止したようです)。リバース シェルを取得しました (リバース シェルを提供する jenkins ジョブを追加しました) が、問題が発生しました。su はターミナルを必要とし、実行を拒否します。

では、su を非対話的に実行する方法、または通常のユーザー アカウントにエスカレートする他の方法はあるのでしょうか?

答え1

つまり、私が屈服してこの質問をしたとき、十分にグーグル検索していなかったことが判明しました。

答えはこうですhttps://serverfault.com/a/495154/68820言って走る

python -c 'import pty; pty.spawn("/bin/sh")'

リバース シェルの内部では、pty が取得されます。

これを行うと、通常のユーザーに su して、sshd を再起動することができました。

答え2

sudoを試してください。これは現代的な(そしてより安全な)方法です。

次のようなコマンドがあります:

echo "password"|su - -c "command"

echo -e "password\n"|su - -c "command"

関連情報