APUE筆記 系統資料檔案和資訊

2021-08-26 02:54:38 字數 1195 閱讀 9184

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/passwd中一行記錄對應乙個使用者,分為7個字段:

使用者名稱:加密口令:使用者標id:組id:注釋字段:初始工作目錄:初始shell

函式:getpwuid   getpwnam返回passwd結構體的指標

setpwent()用來將getpwent()的讀寫位址指回密碼檔案開頭。

實驗:自己實現getpwnam,讀取/etc/passwd檔案

結果:name:samba

pw_dir:/home/samba

pw_shell:/bin/bash

1 #include 2 #include "apue.h"

3 #include 4

5 struct passwd *mygetpwnam(char *name)

6 14 endpwent();

15 return ptr;

16 }

17 18

19 int main()

20

附屬組id,乙個使用者可以同時屬於多個組。

int uname(struct utsname*name)

gethostname(char *name,int namelen)

struct utsname

;

全域性變數jiffies用來記錄自系統啟動以來產生的節拍的總數

開啟動時,核心將該變數初始化為0,此後,每次時鐘中斷處理程式都會增加該變數的值。

time:返回2023年那個時間到現在的秒數,根據jiffies計算。

ctime把秒數轉換成固定格式

gmtime和localtime把time的時間變成tm結構體

gmtime國際時間

localtime本地時間

mktime把tm結構體轉換成time_t

asctime把tm轉換成固定格式字串

strftime把tm轉換成可變格式字串

06 APUE 系統資料檔案和資訊

a getpwent setpwent endpwent include struct passwd getpwent void 成功返回指標,出錯或到過檔案末尾返回 null void setpwent void void endpwent void struct passwd b getpwui...

APUE筆記之系統資料檔案

1.口令檔案 etc passwd 644 struct passwd 備註 通常有乙個使用者名為root的登陸項,其使用者id是0,也就是超級使用者 通常還有乙個使用者名為nobody的登陸項,其使用者id是65534,一般對該使用者不提供任何特權,只能訪問人人都可讀寫的檔案 加密口令欄位在這裡就...

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

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