
私は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
(おそらく) だけです。は にあり、は所有者ですが、への変更権限がありません。つまり、ファイルであれディレクトリであれ、その内容を変更することはできません。このエラーは、ユーザーがファイルを読み取ることができないために発生しているのではなく、親ディレクトリ への変更権限がないためファイルに書き込むことができないために発生しています。syslog
ice-message-initiator.log
/var/log
ubuntu
ubuntu
/var/log
ubuntu
/var/log
cronjob を動作させるには、 として実行するか、root
または などのサブディレクトリにログ ファイルを書き込んで/var/log/ice
、ubuntu
変更権限を与える必要があります。