PHP が RNDC にアクセスできない
P粉794851975
P粉794851975 2024-02-21 21:33:27
0
2
319

ゾーン ファイル /var/named/rpz.local を編集しているため、次のコマンドを実行した後に rndc をリロードする必要があります:

リーリー

root として cli を使用することはすべて問題ありませんが、問題は、nginx (PHP) を介して /usr/sbin/rndc を実行できないことです。それで、ヒントを教えてもらえますか?

これを実行できます:

リーリー

しかし、このコマンドを実行すると、出力は空になります。 system('rndc リロード'); または shell_exec('rndc関連'); 次のコマンドを実行することさえできないため、rndc にアクセスできないようです。 rndc ステータス しかし、これを実行すると:

リーリー

#uptimeuptime コマンドの結果はありますが、shell_exec('rndc reload') については何もありません。以下のコマンドも実行しました。しかし、うまくいきませんでした: ああああ

P粉794851975
P粉794851975

全員に返信(2)
P粉545956597

PHP を Nginx で root として実行している場合、深刻な問題が 1 つ発生し、さらにいくつかの問題が発生します。

root ユーザーの役割とその目的を理解するには、操作マニュアルを参照してください。その後、それに応じてシステムを管理します。

つまり、root として何かを実行できるからといって、それを PHP 内から実行する必要があるわけではありません。

その理由を学びましょう。本物。正直に。

そうでない場合は、オペレーティング システムに精通している担当システム管理者に問い合わせて、要件を直接明確にしてください。

いいねを押す +0
P粉463291248

###問題が解決しました。どうやって?

rndc コマンドを実行しようとすると、 NULL が発生します。 この記事で述べたように、コマンドを次のように変更しました。 $Test =shell_exec(`rndc reload rpz.local 2>&1`); // rndc.key ファイルに対するリターン権限が拒否されました print($Test);

だから私はやりました: 

setfacl -m u:nginx:rwx /etc/rndc.key

###問題は解決された。
ありがとうございます

@hake

P.S

@hake が述べたように、nginx を sudoer として実行したり、nginx を sudoer グループに追加したりするのは間違っているため、

間違いを犯さないでください ただし、デバッグは問題ありません。そしてテスト(1~2時間以内)。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!