sudoには一部のサーバーでパスワードが必要です

sudoには一部のサーバーでパスワードが必要です

zabbixスクリプトで使用するために、複数の(仮想)サーバー(主にDebian)に対していくつかのsudoルールを設定しました。

zabbix ALL=NOPASSWD: /etc/init.d/exim4 restart

zabbix-agentとsudo構成ファイル(/etc/sudoers.d/zabbix-agent)はansibleを介して配布され、すべてのサーバーで同じです。

ただし、一部のサーバーでは、sudoにパスワードが必要です。他の人にはそうではありません。 zabbixを使って実行してもローカルで実行しても、コマンドは同じです。

# sudo -u zabbix sudo /etc/init.d/exim4 restart

時には動作し、時にはパスワードを要求することがあります。

調べてみると、sudo設定でzabbixユーザーに対する他の規則があることは明らかな答えですが、これは間違っています。

システムがパスワードを要求する他の要因は何ですか?

ベストアンサー1

いいですね。エラーの原因は2つあります。

  1. このsudoers.dディレクトリは含まれていません/etc/sudoers。ほとんどの最新システムではこれがデフォルトなので、ファイルを削除するだけです。しかし、元のDebian Lennyと一緒にインストールされ、古いsudoersファイルを保持するいくつかの古いシステムもあります。
  2. eximがインストールされていないため、/etc/init.d/exim4存在しません。今これもある程度はユーザー過失ですが、非常に不都合なエラーレポートSudoの場合。特定のファイルを実行しようとすると、情報漏えいが発生する可能性があります(ただし、sudo設定にはその実行可能ファイルの明確な規則があるため、それが正しい理由であるかどうかはわかりません)。ただし、正しい情報を提供すると、システムはそうします。パスワードを入力するとエラーが報告されます。

おすすめ記事