Linux - 로그 파일 폴더에 대한 권한 없이 사용자가 로그 파일에 액세스할 수 있도록 하시겠습니까? [복사]

Linux - 로그 파일 폴더에 대한 권한 없이 사용자가 로그 파일에 액세스할 수 있도록 하시겠습니까? [복사]

내 아파치 서버는 내 프로젝트의 로그 파일을 아래에 저장합니다.

/var/log/apache2/foo_error.log

사용자와 그룹을 내 프로젝트(foo:www-data)의 사용자와 그룹으로 설정하고 777로 chmoding도 시도했지만(위험하다는 것은 알지만 로컬 VM일 뿐임) 액세스하려고 하면 여전히 얻다허가가 거부되었습니다

tail -f /var/log/apache2/foo_error.log
tail: cannot open '/var/log/apache2/foo_error.log' for reading: Permission denied
tail: no files remaining

염두에 두어야 할 유일한 해결책은 로그 파일이 프로젝트 폴더에 저장되도록 VHOST 구성을 변경하는 것입니다. 하지만 관심이 있어서 이 질문을 드리는 것입니다. 로그 파일이 apache2 로그 폴더에 있는 경우에도 작동합니까?

답변1

Marcus가 링크한 답변은 디렉토리 권한이 작동하는 방식을 잘 설명합니다.

특정 사례의 "방법"에 대답하려면 - 자체 로그 파일에 액세스하는 모든 사람이 실제로 읽기 전용 또는 읽기-쓰기 액세스를 허용할 수 있는 올바른 권한을 가지기를 원하는 한 중앙 위치에서 이 작업을 수행할 수 있습니다. 해당 사용자는 액세스할 수 있습니다.

ln /var/log/apache2/foo_error.log /path/to/user_accessible_dir/foo_error.log

심볼릭 링크를 사용하면 원본 파일의 상위 디렉터리 권한에 영향을 받기 때문에 작동하지 않습니다.

하드 링크와 심볼릭 링크의 차이점(및 작동 이유)을 더 잘 이해하려면 다음 답변을 참조하세요.https://stackoverflow.com/a/185903/17508208

관련 정보