110 likes | 298 Views
2004242066 엄태정. chown. 목차. chown 함수 소개 stat 함수 소개 프로그램 소스 시 연. c hown 함수 소개. CH ange OWN er 의 약자 int chown ( const char *path, uid_t owner, gid_t group ); 첫번째 인수 : 파일의 이름 두번째 인수 : 유저 id 세번째 인수 : 그룹 id 정상종료시 0, 이상종료시 -1. s tat 함수 소개.
E N D
2004242066 엄태정 chown
목차 • chown함수 소개 • stat 함수 소개 • 프로그램 소스 • 시연
chown함수 소개 • CHangeOWNer의 약자 • intchown( const char *path,uid_t owner,gid_t group ); • 첫번째 인수 : 파일의 이름 • 두번째 인수 : 유저 id • 세번째 인수 : 그룹 id • 정상종료시 0, 이상종료시-1
stat 함수 소개 • 파일에 관한 정보를 조사하여, 구조체에 저장하는 함수. • int stat(char *path, struct stat *statbuf); • 첫번째인수 : 파일의 이름 • 두번째 인수 : 조사 결과를 담을 구조체 • 구조체 stat (※일부) • File의 크기(st_size), 수정된 시간(st_atime) • UID(st_uid), GID(st_gid)
프로그램 소스 [1] #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> #include <stdlib.h> main(intargc, char *argv[]) { struct stat stbuf; int stat(), chown(); if(argc < 3) { printf ("사용법 : %s other-file your-file\n", argv[0]); printf ("\t other-file : 소유자 권한을 복사하고자 하는 파일\n"); printf("\t your-file : 소유자 권한이 복사되는 파일\n"); exit(1); }
프로그램 소스 [2] if(stat(argv[1], &stbuf) == -1) { perror(argv[2]); exit(2); } if(chown(argv[2], stbuf.st_uid, stbuf.st_gid) == -1) { perror(argv[2]); exit(3); } exit(0); }
시연 [1] root Line
시연 [4] root root