ptyなしでシェルを取得する方法

ptyなしでシェルを取得する方法

sudosudoersファイルが定義されているptyがない環境で呼び出され、失敗するスクリプトを修正していますDefault requiretty

このスクリプトは、実行のために特定のユーザーに依存するバイナリを呼び出すために使用され、root実行されるので、私のソリューションは 。sudosudosu

これで修正をテストしたいのですが、sudo失敗した環境を再現するのに問題があります。

  • 他のユーザーを介してシステムにアクセスできますが、パスワードはsudo su -不明です。root

  • ptyなしでシステムにアクセスする方法を知っていますが、ssh -T失敗したため、これ以上rootとしてログインできませんsudo

ptyなしでルートシェルを取得するにはどうすればよいですか?

答え1

at最初に試すことは、またはを使用してスクリプトを実行することですcron

例:

at now <<< "sudo echo 'This will fail if sudoers requiretty' 2>/tmp/stderr >/tmp/stdout" 

関連情報