所有者はログファイルを書き込むことができません

所有者はログファイルを書き込むことができません

私はPythonスクリプトに取り組んでおり、/var/log/フォルダに664権限でファイルを作成しました

Python スクリプトは、作成されたファイルにログを書き込むことができません。理由はわかりません...ファイルの所有者が ubuntu (aws のデフォルト ユーザー) であるためです。

非常に慎重にファイルに読み取りと書き込みの権限を与えました

スケジュールされた crontab は、権限拒否の問題のため、アプリの実行に失敗しました。何かアイデアはありますか?

i) crontab を設定するために使用したコマンド - crontab -e ii) Python スクリプトを実行している crontab の行 - */30 * * * * python3 /home/ubuntu/message_initiator.py iii) 正確なエラー メッセージ -Permission denied: '/var/log/ice-message-initiator.log'

答え1

走れば

ll -d /var/log

root次に、そのファイルが によって所有され(おそらくsyslogグループとして が所有)、755 または 775 の権限を持っていることがわかります。つまり、他のユーザーはディレクトリの読み取りとトラバースが可能ですが、変更できるのはroot(おそらく) だけです。は にあり、は所有者ですが、への変更権限がありません。つまり、ファイルであれディレクトリであれ、その内容を変更することはできません。このエラーは、ユーザーがファイルを読み取ることができないために発生しているのではなく、親ディレクトリ への変更権限がないためファイルに書き込むことができないために発生しています。syslogice-message-initiator.log/var/logubuntuubuntu/var/logubuntu/var/log

cronjob を動作させるには、 として実行するか、rootまたは などのサブディレクトリにログ ファイルを書き込んで/var/log/iceubuntu変更権限を与える必要があります。

関連情報