setuid

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

프로그램 라이브러리
     Standard C Library (libc, -lc)

서식
     <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 의 값으로
     설정할 수 있습니다.

반환값
     Upon successful completion, the value 0 is returned; otherwise the value -1
     is returned and the global variable errno is set to indicate the error.

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

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

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

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

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