系統資料檔案和資訊

2022-06-29 01:27:12 字數 2595 閱讀 8125

#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...