[리눅스 시스템 프로그래밍] 8. 프로세스 수행 환경

리눅스 시스템에서는 프로세스가 동작하면서 권한에 따라 수행 가능 여부를 결정할 때가 있습니다. 이 때 권한은 유효 사용자 ID(Effective User ID) 권한에 의해 결정합니다. 이번 장에서는 실제 사용자 ID(Real User ID)와 유효 사용자 ID(Effective User ID)에 관해 알아볼 거예요. 또한 사용자 로긴 이름과 유효 사용자 ID에 해당하는 사용자 이름을 확인하는 방법도 알아볼게요. 이 외에도 시스템 정보에 관한 사항과 프로세스 등에 관하여 다룰게요.

다음은 이번 장에서 다룰 함수들입니다.

#include <sys/types.h >

#include <unistd.h>

#include <sys/utsname.h>

#include <time.h>

#include <sys/times.h>

uid_t getuid(void);

uid_t geteuid(void);

gid_t getgid(void);

gid_t getegid(void);

int setuid(uid_t uid);

int setgid(gid_t gid);

int setreuid(uid_t ruid, uid_t euid);

int setregid(gid_t rgid, gid_t egid);

int seteuid(uid_t uid);

int setegid(gid_t gid);

char *getlogin(void);

char *cuserid(char *buf);

int uname(struct utsname *name);

int gethostname(char *name, int nlen);

time_t time(time_t *tptr);

struct tm *gmtime(const time_t *tptr);

struct tm *localtime(const time_t *tptr);

time_t mktime(struct tm *tptr);

char *asctime(const struct tm *tptr);

char *ctime(const time_t *tptr);

size_t strftime(char *buf, size_t maxsize, const char *formant, const struct *tm *tptr);

clock_t times(struct tms *buf);