유효 사용자 ID를 설정한다.
#include <unistd.h> int seteuid(uid_t euid);
유효:::사용자:::ID(:12) 설정을 하기 위해서 사용된다. 유효 사용자 ID 는 파일(:12) 생성과 접근등에 영향을 미치게 된다.
성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을 설정한다. 보통 슈퍼유저권한일 경우 사용가능한 함수이다.
다양한 원인에 의해서 에러가 발생할수 있으며 아래와 같은 에러 메시지들이 있다.
현재 프로세스의 권한이 슈퍼유저권한이 아닐때
#include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int main() { int fd; int state; // 500 은 yundream 이라는 계정의 UID 이다. // yundream 유저ID로 effective UID 를 설정한다. state = seteuid(500); if (state < 0) { perror("error "); exit(0); } // 테스트용 파일을 하나 생성한다. if ((fd = open("setuid.txt", O_CREAT|O_RDWR, S_IRWXU|S_IRUSR)) < 0 ) { perror("error "); exit(0); } close(fd); }
[root@localhost testdir]# ls -al drwxr-xr-x 2 yundream yundream 4096 10월 31 23:25 . drwxr-xr-x 8 root root 4096 10월 31 23:13 .. -rwx------ 1 yundream root 0 10월 31 23:13 setuid.txt
Copyrights © - Joinc, All Rights Reserved. Inherited From - Yundream Rebranded By - Joonphil
1장. seteuid(2)
유효 사용자 ID를 설정한다.
1.1절. 사용법
1.2절. 설명
유효:::사용자:::ID(:12) 설정을 하기 위해서 사용된다. 유효 사용자 ID 는 파일(:12) 생성과 접근등에 영향을 미치게 된다.
1.3절. 반환값
성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을 설정한다. 보통 슈퍼유저권한일 경우 사용가능한 함수이다.
1.4절. 에러
다양한 원인에 의해서 에러가 발생할수 있으며 아래와 같은 에러 메시지들이 있다.
현재 프로세스의 권한이 슈퍼유저권한이 아닐때
1.5절. 예제
#include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int main() { int fd; int state; // 500 은 yundream 이라는 계정의 UID 이다. // yundream 유저ID로 effective UID 를 설정한다. state = seteuid(500); if (state < 0) { perror("error "); exit(0); } // 테스트용 파일을 하나 생성한다. if ((fd = open("setuid.txt", O_CREAT|O_RDWR, S_IRWXU|S_IRUSR)) < 0 ) { perror("error "); exit(0); } close(fd); }Recent Posts
Archive Posts
Tags