다음 권한을 사용하여 유효 사용자 ID를 설정할 수 있나요? 4744 다음 권한을 사용하여 유효한 그룹 ID를 설정할 수 있나요? 2666
안녕하세요 여러분, 면접 질문을 읽고 계시는데 온라인에서 면접 정보를 찾았습니다. 다른 어떤 책이나 웹사이트에도 해당 내용이 없어서 이렇게 글을 올립니다. 그래서 유효 사용자 ID와 유효 그룹 ID의 의미에 대한 정보가 필요합니다. 다음은 몇 가지 질문과 답변입니다.
내가 아는 한, 루트 사용자와 일반 사용자의 umask는 다릅니다. 루트 사용자 디렉터리 0022 파일 0133
일반 사용자 디렉토리 0002 파일 0113 OK! Weather SUID와 SGID에 권한 값이 설정되어 있는지 알고 싶기 때문입니다. 나는 얻지 못했다
답변1
프로세스가 시작되면 4개의 사용자 및 그룹 관련 식별자가 있습니다.
User ID
(UID
):UID
프로세스를 시작한 사용자입니다.Group ID
( ): 프로세스를 시작한 사용자의 기본 사용자입니다GID
.GID
Effective User ID
( ): 프로그램을 저장하는 파일의 SetUID 비트가 1로 설정되지 않는 한EUID
일반적으로 로 설정됩니다 .UID
이 경우EUID
소유자 파일의 ID입니다.Effective Group ID
( ) : 프로그램 파일이 저장되는 파일 비트가 1이 아닐 경우EGID
일반적으로 로 설정됩니다 . 이 경우 해당 파일이 속한 그룹의 ID로 설정하세요.GID
SetGID
GID
프로세스에 적용되는 권한은 항상 EUID
및 을 기반으로 합니다 EGID
.
SetUID
메커니즘을 통해 SetGID
사용자는 추가 권한 상승 메커니즘을 사용하지 않고도 더 높은 권한으로 작업을 호출할 수 있습니다. 예를 들어, 일반 사용자가 소켓을 사용할 수 없는 경우에도 ping
도구는 실제로 이러한 소켓을 열 수 있습니다 .SOCKET_RAW
이는 폴더에도 적용할 수 있지만 해당 폴더에 기록된 파일의 권한을 변경합니다( SetGID
).
이는 바이너리 파일에만 (성공적으로) 적용될 수 있습니다. SetUID
권한은 스크립트가 아닌 인터프리터(바이너리)에 의해 설정되므로 이 비트를 스크립트에 적용해도 아무런 효과가 없습니다.