UNIX組文件(POSIX.1稱其為組數(shù)據(jù)庫)包含了表6-3中所示的字段。這些字段包含在<grp.h>中所定義的group結(jié)構(gòu)中。
表6-3 /etc/group文件中的字段
字段gr_mem是一個指針數(shù)組,其中每個指針各指向一個屬于該組的用戶名。該數(shù)組以空指針結(jié)尾。
可以用下列兩個由POSIX.1定義的函數(shù)來查看組名或數(shù)值組ID。
#include <grp.h>struct group *getgrgid( gid_t gid );struct group *getgrnam( const char *name );兩個函數(shù)返回值:若成功則返回指針,若出錯則返回NULL
如同對口令文件進(jìn)行操作的函數(shù)一樣,這兩個函數(shù)也返回指向一個靜態(tài)變量的指針,在每次調(diào)用時都重寫該靜態(tài)變量。
如果需要搜索整個組文件,則需要使用另外幾個函數(shù)。下列三個函數(shù)類似于針對口令文件的三個函數(shù)。
#include <grp.h>struct group *getgrent( void );返回值:若成功則返回指針,若出錯或到達(dá)文件結(jié)尾則返回NULLvoid setgrent( void );void endgrent( void );
setgrent函數(shù)打開組文件(如若它尚未被打開)并反繞(rewinds to the beginning)它。getgrent函數(shù)從組文件中讀下一個記錄,如若該文件尚未打開則先打開它。endgrent函數(shù)關(guān)閉組文件。
本篇博文內(nèi)容摘自《UNIX環(huán)境高級編程》(第二版),僅作個人學(xué)習(xí)記錄所用。關(guān)于本書可參考:http://www.apuebook.com/。
新聞熱點(diǎn)
疑難解答
圖片精選