SETUID(2)

명칭
setuid, seteuid, setgid, setegid, - 유저 ID 와 그룹 ID 를 설정한다

프로그램 라이브러리
libc

서식
<sys/types.h> <unistd.h> int setuid(uid_t uid) int seteuid(uid_t euid) int setgid(gid_t gid) int setegid(gid_t egid)

해설
setuid() 함수는, 현재의 프로세스의 열매 유저 ID 와 실효 유저 ID 와 퇴피 그룹 ID 를 지정한 값으로 설정합니다. setuid() 함수가 허용 되는 것은, 지정의 ID 가 프로세스의 열매 유저 ID 또는 실효 유저 ID 에 동일한 경우, 또는 실효 유저 ID 가 슈퍼 유저의 것과 동일한 경우입니다.

setgid() 함수는, 현재의 프로세스의 열매 그룹 ID 와 실효 그룹 ID 와 퇴피 그룹 ID 를 지정한 값으로 설정합니다. setgid() 함수가 허용 되는 것은, 지정의 ID 가 프로세스의 열매 그룹 ID 또는 실효 그룹 ID 에 동일한 경우, 또는 실효 유저 ID 가 슈퍼 유저의 것과 동일한 경우입니다.

seteuid() 함수 (setegid()) (은)는, 현재의 프로세스의 실효 유저 (그룹 ID)를 설정합니다. 실효 유저 ID 는 열매 유저 ID 또는 퇴피 유저 ID ( intro(2) (와)과 execve(2) (을)를 참조 )의 값으로 설정할 수 있습니다. 이것을 이용해, set-user-ID 실행 가능 파일의 실효 유저 ID 를 열매 유저 ID 로 전환한 후에, set-user-ID 치로 돌아오는 것으로, 원의 권한을 얻을 수 있습니다. 똑같이, 실효 그룹 ID 는, 열매 그룹 ID 또는 퇴피 유저 ID 의 값으로 설정할 수 있습니다.

반환값

에러
본함수는 다음의 경우에 실패합니다:

[EPERM]
    유저가 슈퍼 유저가 아닌 경우, 또는 지정된 uid 가 그 열매 ID, 실효 ID, 또는 퇴피 ID 가 아닌 경우.

관련 항목
getgid(2), getuid(2), issetugid(2), setregid(2), setreuid(2)

표준
setuid() 함수와 setgid() 함수는 p1003.1-90 사양과 호환성이 있습니다. 다만, _POSIX_SAVED_IDS (은)는 부록 B. 4.2. 2 의 허가된 확장으로 정의되고 있지 않습니다. seteuid() 함수와 setegid() 함수는, _POSIX_SAVED_IDS 의 POSIX 컨셉을 기초로 해 확장되어 있어, 표준의 장래의 개정용으로 제안되어 있습니다.

역사
setuid() 함수 호출과 setgid() 함수 호출은 AT&T UNIX 그리고 등장했습니다.