APUE 第六章 系統資料檔案和資訊

2021-08-27 12:18:19 字數 1809 閱讀 8258

口令檔案

struct passwd

;struct passwd* getpwuid(uid_t uid)//通過使用者id獲得相應的passwd結構

struct passwd* getpwnam(const char* name)//通過使用者名稱獲得相應的passwd結構

void setpwent()//初始化,把全域性變數指標賦值到開始值[l1]

struct passwd* getpwent()//獲得乙個passwd結構,如果遍歷完返回指標式空

void endpwent()//釋放內部結構,並且關閉檔案

陰影檔案(密碼)

struct spwd; 

struct spwd* getspnam(const char*name)//通過使用者名稱獲得相應的口令資訊

void setspent();

struct spwd* getspent()

void endspent[l2] ()

組檔案

在grp.h

的標頭檔案中可以看到組的結構

/* the group structure.   */

struct group

;struct group* getgrgid(gid_t gid)

struct group* getgrnam(const char* name)

void setgrent()

strcut group* getgrent()

void endgrent()

附加組id

就是原來乙個使用者僅僅有乙個組id,之後覺得不夠用,就把組id進行擴充套件,加入了附加組id

int getgroups(int gidsetsize, gid_t grouplist)//陣列groulist儲存組id,gidsetsize 陣列元素個數(最大16)

int setgroups(int ngroups, const gid_tgrouplist)設定附加組id

系統標識:

int uname(strcut utsname* name)

int gethostname(char*name, int namelen );

時間和日期

time_t time(time_t *calptr)//返回值和引數都是相對於1970的秒數

int gettimeofday(strcut timeval * tp, void*tzp)//或者比time更精準的時間

struct timeval

struct tm ;

struct tm* gmtime(const time_t *calptr)//轉換成國際標準時間

struct tm* localtime(const time_t calptr).轉換成當地時間

time_t mktime(struct tm* tmptr)把tm轉化成time_t結構

const* astime(const struct tm* tmptr)轉化成年月日的字串時間,使用者輸出

const*ctime(const time_t * calptr)把time_t 轉化

[l1]

#include #include #include #include using namespace std;

int main(int argc, char** argv)

endspent();

return0;

}

APUE筆記 第六章 系統資料檔案和資訊

功能 訪問口令檔案中資訊。功能 檢視整個口令檔案。功能 檢視組名或數值組id。功能 搜尋整個組檔案,則須使用另外幾個函式。這三個函式類似於針對口令檔案的三個函式。功能 訪問和設定新增組id。功能 返回與主機和作業系統有關的資訊。兩個函式localtime和gmtime將日曆時間變換成以年 月 日 時...

第六章 系統資料檔案和資訊

6.2 口令檔案 和口令檔案對應的字段包含在的結構體passwd中。include struct passwd getpwuid uid t uid struct passwd getpwnam const char name 兩個函式的返回值 若成功則返回指標,若出錯則返回null 如果要檢視的只...

單刷APUE系列 第六章 系統資料檔案和資訊

使用過unix系統的朋友應該知道 etc passwd檔案,這就是unix系統口令檔案,在posix1.x規範中規定unix系統必須存在使用者資料庫,這些使用者資料庫裡每個使用者都需要包含一些字段,具體需要檢視標頭檔案。struct passwd 複製 在很多unix系統中,passwd是乙個asc...