소유자가 로그 파일에 쓸 수 없습니다.

소유자가 로그 파일에 쓸 수 없습니다.

저는 Python 스크립트를 작성 중이며 /var/log/ 폴더에 664 권한이 있는 파일을 만들었습니다.

Python 스크립트는 생성된 파일에 로그를 쓸 수 없습니다. IDK 이유는 파일 소유자가 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

rootsyslog그러면 이 파일이 (아마도 그룹) 소유이고 755 또는 775 권한이 있음 을 알 수 있습니다 . 즉, 다른 사람은 디렉터리를 읽고 탐색할 수 있지만 다른 사람 rootsyslog수정할 수 있다는 의미입니다. 수정 권한이 없는 해당 소유자입니다. 즉 , ice-message-initiator.log파일 이든 디렉터리이든 해당 내용을 수정할 수 없습니다. 사용자가 파일을 읽을 수 없기 때문에 오류가 발생하는 것이 아니라 상위 디렉터리에 대한 수정 권한이 없어 파일을 쓸 수 없기 때문에 발생합니다 ./var/logubuntuubuntu/var/logubuntu/var/log

cronjob이 작동하도록 하려면 이를 실행 root하거나 하위 디렉터리에 로그 파일을 쓰도록 하고 /var/log/ice수정 권한을 부여해야 합니다.ubuntu

관련 정보