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

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

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

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

/var/platform/program

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

반면에, 나는 같은 디렉토리에 있는 파일을 열고 쓰려고 시도하는 작은 프로그램을 C로 작성했는데 루트로 실행하면 잘 작동하지만 syslog-ng는 실패합니다...

이 상황에서는 어떤 문제가 발생할 수 있나요?

답변1

syslog가 이 디렉터리에 액세스하려고 할 수 있으므로 chdir해당 디렉터리에 실행 비트를 설정해야 합니다.

바라보다비트를 실행하고 읽습니다. Linux에서 디렉토리 권한은 어떻게 작동합니까?더 많은 정보를 알고 싶습니다.

관련 정보