私は毎日深夜にライセンスを失います。

私は毎日深夜にライセンスを失います。

require私のPHPスクリプトの上部にファイルがあります。このファイルにはMySQL接続オブジェクトのみがあります。

$c->new mysqli('host','usr','pass','db')

ファイルに400権限があり、Webページのルート()から離れて-r-------- 移動しました。/etc/mysql//var/www/html

毎晩真夜中に動作が停止し、私のすべてのページに対して権限拒否エラーが発生することを除いて、うまく動作します。

Warning: require(/etc/mysql/.myfile.php): Failed to open stream: Permission denied in...

権限をに変更するには、444自分のサイトにログインして権限をもう一度変更してください400。翌日真夜中まで働きました。一日中何度も私のサイトにログインしてログアウトできますが、真夜中になると失敗します。

この問題の原因と解決策は何ですか?

root明らかにプレーンテキストのパスワードがあるので、ファイルを読むことができるように保管したいと思います。

ベストアンサー1

これはコメントでなければなりません。しかし、スペースが限られており、フォーマットも同じです。

この状況について実際に良い説明を提供しません。

「権限を失った」と正常な作業を再開する方法について話しましたが、権限が何であるかは明らかではありませんでした。後ろに真夜中のイベント。

アクセス権を決定するときに所有権の詳細がない場合、権限は意味がありません。おそらく、ファイルはもともとWebサーバーuidが所有していました(実際にはWebサーバーで実行されているスクリプトがファイルにアクセスしたとは言いませんでした)。繰り返しますが、前と後は何ですか?

真夜中に止まったことをどうやって確認しましたか?イベントが発生した時期を正確に知ることは、トラブルシューティングのための有用な踏み石です。 00:00:00から00:03:00の間に発生した場合、スケジュールされたタスクが原因である可能性が高くなります。これも作ってくれるたくさんシステムログ(Webサーバーログを含む)とイベントを簡単に相互参照できます。

ただし、権限とアクセス権を考慮していただきありがとうございます。

選択した権限は適切ではありません。もう一度これがWebサーバーであると仮定すると、このファイルはrootユーザーのみを管理できます。サーバーを維持する唯一の人の場合、より良いアプローチは、所有権をbungee1980:wwwgrp(ここでwwwgrpはWebサーバーuidのデフォルトグループ)と権限-rw-r----(0750)に設定することです。

選択した場所が理想的ではありません。ほとんどの最新のオペレーティングシステムは、必要なアクセス制御メカニズム(RHELのSELinuxとその派生製品、Apparmorの他の場所)を介したファイルアクセスを制限しています。ネットワークサーバーは通常、その内容を含むディレクトリツリーにのみ制限されます。明らかな理由から、このファイルがドキュメントのルートにあることを望まないが、(通常)スクリプトが/ etcの他の多くのファイルから直接読み取ることはできません。

小さな問題はPHPですメカニズムを提供しますデフォルトの資格情報とデータベースの詳細を設定するために使用されます。追加の定型句コードの実行ターゲットスクリプトの前)。 Webサーバー構成で設定できることを考慮すると、これはより適切な資格情報ツールです。

おすすめ記事