#include //分別通過uid和使用者名稱獲取與指定使用者相關的passwd資訊
//成功返回指標,出錯返回null
struct passwd *getpwuid(uid_t uid);
struct passwd *getpwnam(const
char *name);
//passwd結構可以儲存/etc/passwd檔案中每一行中的資訊
//注意:此處返回的passwd結構通常是函式內部的靜態變數
//開啟並獲取整個/etc/passwd口令檔案
//成功返回指標,出錯或到達檔案尾端,返回null
struct passwd *getpwent(void
);//
反繞口令檔案,即將口令檔案的offset重置到檔案頭
void setpwent(void
);//
關閉getpwent()開啟的口令檔案
void endpwent(void);
#include //獲取/etc/shadow檔案資訊
//成功返回指標,出錯返回null
struct spwd *getspent(void
);struct spwd *getspnam(const
char *name);
void setspent(void
);void endspent(void);
#include //獲取指定組資訊
//成功返回指標,出錯返回null
struct group *getgrgid(gid_t gid);
struct group *getgrnam(const
char *name);
struct group *getgrent(void
);void setgrent(void
);void endgrent(void);
#include #include//獲取程序所屬使用者的各附屬組id,並填寫到grouplist中
//成功返回附屬組數量,出錯返回-1
int getgroups(int
gidsetsize, gid_t grouplist);
//填寫到grouplist中的附屬組id數量最多為gidsetsize
//由超級使用者呼叫,為呼叫程序設定附屬組id表
//成功返回0,出錯返回-1
int setgroups(int ngroups, const
gid_t grouplist);
//ngroups 指定 grouplist中元素數
//由超級使用者呼叫,初始化指定使用者的附屬組id表
//成功返回0,出錯返回-1
int initgroups(const
char *username, gid_t basegid);
#include //成功返回非負值,出錯返回-1
int uname(struct utsname *name);
//通過name返回主機與系統相關資訊
//儲存主機和系統資訊
struct
utsname
#include //成功返回時間值,出錯返回-1
time_t time(time_t *calptr);
//將日曆時間轉換為本地時間
struct tm *gmtime(const time_t *calptr);
//將日曆時間轉換為年月日時分秒周的分解結構
struct tm *localtime(const time_t *calptr);
//tm結構儲存返回後的時間值
struct
tm ;
//將本地時間轉化為time_t值
//成功返回日曆時間,出錯返回-1
time_t mktime(struct tm *tmptr);
//獲取指定時鐘的時間
#include //
成功返回0,出錯返回-1
int clock_gettime(clockid_t clockid, struct timespec *tsp);
//clockid_t取值:
//clock_realtime(實際系統時間)
//clock_monotonic(不帶負跳數的實際系統時間)
//clock_process_cputime_id(呼叫程序的cpu時間)
//clock_thread_cputime_id(呼叫執行緒的cpu時間)
//成功返回0,出錯返回-1
int clock_getres(clockid_t clockid, struct timespec *tsp);
//將tsp指向的timespec結構初始化為與clock_id引數對應的時鐘精度
//設定特定時鐘時間
//成功返回0,出錯返回-1
int clock_settime(clockid_t clockid, const
struct timespec *tsp);
系統資料檔案和資訊之組檔案
unix組檔案 posix.1稱其為組資料庫 包含了表6 3中所示的字段。這些字段包含在中所定義的group結構中。表6 3 etc group檔案中的字段 欄位gr mem是乙個指標陣列,其中每個指標各指向乙個屬於該組的使用者名稱。該陣列以空指標結尾。可以用下列兩個由posix.1定義的函式來檢視...
APUE筆記 系統資料檔案和資訊
passwd結構體 include 這個結構體的字段也就是 ect passwd中看到的字段 root x 0 0 root root bin bash bin x 1 1 bin bin sbin nologin daemon x 2 2 daemon sbin sbin nologin etc ...
linux c程式設計 系統資料檔案和資訊
linux系統相關的檔案資訊包含在 etc passwd 檔案和 etc group 中。每次登入 linux 系統以及每次執行 ls l 命令時都要使用口令檔案。這些欄位都包含在 中定義的 passwd 結構中。struct passwd 使用方法如下 void getspnam function...