linux關於使用者資訊的程式設計

2021-06-05 10:25:28 字數 1707 閱讀 4458

linux對每乙個使用者都提供了乙個uid,我們從uid開始來說說使用者資訊。

uid有自己的型別,uid_t,它定義在標頭檔案sys/types.h中。它通常是乙個小整數。有些uid是系統預定義的,其他的則是系統管理員

在新增心使用者時建立的,一般情況下,uid都大於100。

#include

#include

uid_t getuid(void);

char *getlogin(void);

getuid函式返回程式關聯的uid,它通常是啟動程式的使用者的uid。

getlogin函式返回當前使用者關聯的登入名。

系統檔案/etc/passwd包涵乙個使用者賬號資料庫。它由行組成,每行對應乙個使用者,包括使用者名稱,加密口令,使用者識別符號,組識別符號,全名,家目錄和

預設的shell.

人們定義了一組函式來提供乙個標準而又有效的獲取使用者資訊的程式設計介面。

#include

#include

struct passwd *getpwuid(uid_t uid);

struct passwd *getpwnam(const char *name);

密碼資料庫結構passwd定義在標頭檔案pwd.h中,它包括下面幾個成員。

passwd成員                                             說明

char *pw_name                                     使用者登入名

uid_t pw_uid                                           uid號

gid_t pw_gid                                           gid號

char *pw_dir                                           使用者家目錄

char *pw_gecos                                    使用者全名

char *pw_shell                                      使用者預設shell

#include #include #include #include #include int main()

如果要掃瞄密碼檔案中的所有資訊,你可以使用getpwent函式。它的作用是依次取出檔案資料項。

#include

#include

void endpwent(void);

struct passwd *getpwent(void);

void setpwent(void);

getpwent函式依次返回使用者的資訊資料項。當到達檔案尾是,它返回乙個空指標。如果已經掃瞄了足夠多的資料項,你可以使用endpwent函式來終止

處理過程。setpwent函式重置讀指標到密碼檔案的開始位置。這樣下乙個getpwent呼叫將開始乙個新的掃瞄。

使用者和組標識還可以被其他一些不太常用的函式獲得。

#include

#include

uid_t getuid(uid);

gid_t getgid(void);

int setuid(uid_t uid);

int getgid(gid_t gid);

上述函式只有在超級使用者下才可以使用。

linux中使用者資訊的管理

unit5 1.使用者理解 使用者是系統使用者的身份在系統在使用者儲存為若干字串 若干個系統配置檔案 使用者資訊涉及到的系統配置檔案 etc passwd 使用者資訊 使用者 密碼 uid gid 說明 家目錄 使用者使用的shell etc shadow 使用者認證資訊 etc group 組名稱...

Linux使用者的相關檔案(使用者的基本資訊)

使用者的基本資訊存放在這個檔案裡面 root qls ll etc passwd rw r r 1 root root 860 jul 20 19 50 etc passwd 以冒號為分隔符,分為7列 root qls head 1 etc passwd root x 0 0 root root b...

Linux 主機上的使用者資訊傳遞

linux 主機上的使用者資訊傳遞,查詢使用者 w,who,last,lastlog last 列出登陸者資訊 w who 目前誰在系統上 lastlog 每個賬號的最近登入時間,var log lastlog 使用者對談 write,mesg,wall write 使用者賬號 所在終端介面 mes...