루트가 소유한 프로세스는 파일을 쓸 수 없습니다

루트가 소유한 프로세스는 파일을 쓸 수 없습니다

나는 주어진 경로에서 여러 파일을 읽고 써야 하는 프로그램(syslog-ng)을 실행하고 있습니다. 해당 경로에서 파일을 열 수 없다고 주장하면서 시작 시 실패했습니다.

다음 디렉토리 구조를 가정하십시오.

/var/platform/program

디렉터리 platform에는 0655로 설정된 권한이 있습니다(소유자 사용자에게는 실행 권한이 없음). 해당 권한을 0755로 변경하면 syslog-ng가 제대로 작동합니다.

반면에 동일한 디렉터리에 있는 파일을 열고 쓰려고 하는 작은 프로그램을 C로 작성했는데 루트로 실행할 때는 문제 없이 작동하지만 syslog-ng가 실패합니다...

이 경우 어떤 문제가 있을 수 있나요?

답변1

syslog는 아마도 chdir디렉토리로 이동하기를 원하므로 디렉토리에 설정된 실행 비트가 필요합니다.

보다실행 대 읽기 비트. Linux에서 디렉터리 권한은 어떻게 작동하나요?자세한 내용은.

관련 정보