cgrulesengd 매뉴얼 페이지에서 "프로세스가 유효 UID 또는 GID를 변경합니다"는 무엇을 의미합니까?

cgrulesengd 매뉴얼 페이지에서 "프로세스가 유효 UID 또는 GID를 변경합니다"는 무엇을 의미합니까?

cgrules.config를 사용하여 사용자 중심 프로세스를 내 cgroup으로 이동할 계획입니다. 매뉴얼 페이지(https://linux.die.net/man/8/cgrulesengd)cgrulesengd는 프로세스가 유효 UID 또는 GID를 변경할 때마다 호출되어 구성에 따라 프로세스를 이동한다는 것을 의미합니다. 그러나 "프로세스가 유효 UID 또는 GID를 변경합니다"라는 진술은 실제로 무엇을 의미합니까? 프로세스가 시작될 때 모든 시나리오가 포함됩니까? 즉, 새 프로세스가 구성에 따라 이동됩니다.

나는 몇 가지 구성을 가지고 놀았고 예, 새로운 프로세스가 이동된다는 것을 알았지만 문서에 명확하지 않기 때문에 확인하고 싶었습니다.

답변1

너는 읽어야 해https://man7.org/linux/man-pages/man7/credentials.7.html

유효 사용자 ID 및 유효 그룹 ID. 커널은 이러한 ID를 사용하여 메시지 큐, 공유 메모리, 세마포어와 같은 공유 리소스에 액세스할 때 프로세스가 갖는 권한을 결정합니다. 대부분의 UNIX 시스템에서 이러한 ID는 파일에 액세스할 때 권한도 결정합니다. 그러나 Linux는 아래 설명된 파일 시스템 ID를 사용하여 이 작업을 수행합니다. 프로세스는 geteuid(2)(getegid(2))를 사용하여 유효 사용자(그룹) ID를 얻을 수 있습니다.

대부분의 경우 프로세스의 유효 UID는 실제 UID와 동일합니다. 그러나 이는 set-uid 실행 파일을 실행할 때 변경될 수 있습니다.

예를 들어 를 실행하면 su user유효 uid를 루트로 변경하면 suuid를 지정된 사용자로 변경할 수 있습니다. 하지만 일반 사용자는 su비밀번호를 제공하지 않으면 확인할 수 없기 때문에 실제 uid를 확인하게 됩니다 .

관련 정보