系統資料檔案和系統資訊
阿新 • • 發佈:2018-12-07
一.口令檔案
口令檔案(/etc/passwd)包含了使用者的資訊,如使用者名稱,使用者ID,登陸密碼等。由於該檔案人人可見,因此,登陸密碼只是一個佔位符x,真正的登陸密碼在其他檔案中。可通過vi檢視口令檔案,如下圖所示:
為了阻止某使用者登入系統,可以將/bin/bash改為bin/false; bin/true;或bin/nologin.
可以使用一些函式(引數為使用者ID或使用者名稱)獲取口令檔案中的資訊,會返回一個struct passwd結構指標(參APUE p142)。
二.陰影口令
陰影口令用於存放加密後的使用者密碼,可以通過函式getspnam取得,但是隻限於擁有root許可權。程式碼示例如下:
#include <shadow.h> #include <iostream> int main(int argc, char *argv[]) { struct spwd* pwd = getspnam(argv[1]); std::cout<<pwd->sp_namp << " " << pwd->sp_pwdp<<std::endl; return 0; }
三.組檔案
組檔案包含了組名,組ID,包含指向組成員使用者名稱的指標陣列和加密口令。可以使用函式通過引數組ID,組名返回struct group*指標,具體參考APUE p146。
四.時間和日期
APUE p151介紹了幾個獲取時間即解釋時間的函式,muduo中使用的是gettimeofday以及gettime_r。p151的幾個時鐘型別不太明瞭