suまたはsudoを使用せずにroot権限でプログラムを実行する方法

suまたはsudoを使用せずにroot権限でプログラムを実行する方法

bash実行する必要があるスクリプトがあります。root権限ただし、一般ユーザーが呼び出す必要があります。

難しい部分は、スクリプトがパスワードを要求してはならないということですが、私はパスワードを使用したくありません。Sudoers文書。使用を避けたいSudoまたは

可能ですか?

答え1

bashスクリプトではなく通常のアプリケーションの場合は、rootに所有権を与え、アプリケーションにsetuidビットを設定できます。その後、実行時にアプリケーションが実行される有効なユーザーはrootです。しかし、セキュリティ上の理由から、多くのシステムではシェルスクリプトの実行が禁止されています。この問題Unix.stackexchange.comでは、この問題を克服する方法について説明しています。

答え2

sudoを使用してください。に電話したくない場合は、sudo /path/to/myscript1行のラッパーを作成してくださいexec sudo /path/to/myscript "$@"。バラよりシェルスクリプトでsetuid設定を許可する、特別なsudoの使用に対するMaciej Piechotkaの回答そしてsetuidプログラムに関するより一般的な議論

関連情報