
저는 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
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