각 프로세스에는 세 개의 사용자 ID가 있습니다.
- 실제 사용자 ID(
ruid
). - 유효 사용자 ID(
euid
). - 저장된 사용자 ID(
suid
)입니다.
마찬가지로 프로세스에는 세 가지 그룹 ID도 있습니다.
- 실제 그룹 ID(
rgid
). - 유효 그룹 ID(
egid
). - 저장된 그룹 ID(
sgid
).
제가 이해한 바에 따르면, euid
및 egid
(함께)는 권한을 처리할 때 사용됩니다.supplementary group IDs
그러면 ruid
and suid
및 rgid
and 는 sgid
권한을 처리하는 데 어떤 역할을 합니까?
답변1
실제로 Linux는 파일 시스템 사용자 ID와 그룹 ID(물론 추가 그룹 ID도 포함)를 사용하여 파일에 액세스할 수 있는 권한을 결정합니다.setfsuid()
. 일반적으로 이는 유효 사용자 ID 및 그룹 ID와 동일합니다. 실제 및 저장된 사용자 ID와 그룹 ID는 파일, 공유 메모리 등에 대한 액세스를 결정하는 데 절대 사용되지 않습니다.
실제 및 저장된 사용자 ID예한 프로세스가 다른 프로세스에 신호를 보낼 수 있는지 확인하는 데 사용됩니다.man 2 kill
.
바라보다man 7 credentials
완전한 토론을 하십시오.