파일 권한에 대한 UID 및 GID 관계


0

uid 또는 gid가 파일을 실행하는 프로세스 기능에 어떤 영향을 미치는지 혼란 스럽습니다. APUE에서 찾을 수있는 섹션을 읽었지만 Stevens가 설명하는 부분을 놓쳤을 것입니다. 수퍼 유저의 ID가 0이고 모든 파일을 실행할 수 있다는 것을 알고 있지만 특정 uid 또는 gid 번호에서 발생하는 결과를 잃었습니다. 또한 uid 또는 gid가 관련이 있는지 또는 euid 및 egid가 중요한 유일한 것인지 확실하지 않습니까?

예를 들어, 이것은 우리가 수업에서받는 질문입니다.

유효 사용자 ID 4 및 유효 그룹 ID 7을 가진 프로세스가 사용자 ID 4, 그룹 ID 9 및 권한 rw-rx--x를 가진 파일을 실행하려고한다고 가정하십시오. 어떻게됩니까 (그리고 왜)?

따라서 사용자 쓰기 권한이 부여되지 않아 프로세스가 파일을 실행할 수 없어야한다고 생각합니다. 또는 uid와 euid가 동일하기 때문에 프로세스가 파일을 실행할 수 있습니까? egid와 gid는 어디로 들어 옵니까?

답변:


0

euid가 uid와 일치하고 사용자 실행 권한이 부여되면 파일이 실행됩니다. 유사하게, egid와 gid가 일치하고 gid 실행 비트가 설정되거나 다른 실행 비트가 설정되면 (다른 실행 비트가 충분하도록 점검 할 다른 ID가없는 경우) 실행이 진행됩니다. 이 중 어느 것도 해당되지 않으면 권한이 거부됩니다.

따라서 위의 예에서 euid는 uid와 일치하지만 사용자 실행 비트는 설정되지 않았습니다. 그룹 실행 비트가 설정되었지만 egid가 gid와 일치하지 않습니다. 그러나 다른 실행 비트가 설정되어 파일이 성공적으로 실행됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.