mod_perlを介してWebブラウザで実行されている他のスクリプトから分岐したPerlスクリプトがあります。sudo service X stop
バックアップリカバリプロセスの一部として分岐したスクリプト(最終的にはApacheとして実行されます)が必要です。 Xサービスは回復に依存します。 Windowsではうまくいきましたが、CentOSに移植するとタイトルにエラーが表示されます。
設定:
- sudoersファイルがコメントアウトされました。
# Defaults requiretty
- sudoersファイルには
apache_usr localhost=(root) NOPASSWD: /sbin/service X stop
(visudo -c
チェックによって)他の行はapache_usr
ありません。
私が試したこと:
sudo /sbin/service
sudo service
フォークされたプロセスだけでなく- 注釈付きまたはなしのsudoersファイル
Defaults !visiblepw
- sudoersファイルで上記のNOPASSWD行を
(ALL)
使用してください。(root)
また何を試すことができますか?
ベストアンサー1
簡単に言えば、これはsudoが設計された方法です。ねえ。
ネットワーク接続/高速DNSサーバーが存在しない場合の遅延を避けるために、ホストの検索は少し異なります。
コンピュータ名が「salt」の場合、正しいsudoers行は次のようになります。
apache_usr salt=(root) NOPASSWD: /sbin/service X stop
つまり、localhostはsudoerの有効なホスト名ではありません。