口令檔案
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...