linux下獲取使用者基本資訊

2021-05-11 00:39:23 字數 1983 閱讀 7043

通過c

語言基礎庫從獲取

linux

使用者的基本資訊。 1

、使用struct passwd

管理使用者資訊。

struct passwd;2

、分析相並的系統檔案

/etc/passwd

1.root:x:0:0:root:/root:/bin/bash    2.

daemon:x:1:1:daemon:/usr/sbin:/bin/sh    3.

bin:x:2:2:bin:/bin:/bin/sh   在

passwd

檔案中記錄的是所有系統使用者

每一行表示乙個完整的

struct passwd

結構,以

':'分隔出每一項值,其7項。

3、獲取系統當前執行使用者的基本資訊。

#include

#include

#include

#include

int main ()

printf ("i am %s./n", pw->pw_gecos);

printf ("user login name is %s./n", pw->pw_name);

printf ("user uid is %d./n", (int) (pw->pw_uid));

printf ("user home is directory is %s./n", pw->pw_dir);

printf ("user default shell is %s./n", pw->pw_shell);

grp = getgrgid (pw->pw_gid);

if (!grp)

printf ("user default group is %s (%d)./n",

grp->gr_name, (int) (pw->pw_gid));

printf ("the members of this group are:/n");

members = grp->gr_mem;

while (*members)

return 0; }

編譯,結果輸出

$gcc -o userinfo userinfo.c

$./userinfo

i am root.

my login name is root.

my uid is 0.

my home is directory is /root.

my default shell is /bin/bash.

my default group is root (0).

the members of this group are:

test

user

test2 4

、檢視所有的使用者資訊

使用pwd.h

定義的方法

getpwent(),

逐行讀取

/etc/passwd

中的記錄,每呼叫

getpwent

函式一次返回乙個完整使用者資訊

struct passwd

結構。再次讀取時,讀入下一行的記錄。

在使用之前先使用

setpwent()

開啟檔案

(如果檔案關閉

)或重定位到的檔案開始處,操作結束時使用

endpwent()

關閉/etc/passwd

檔案,避免對後面的使用產生負作用。

5、指令碼操作,顯示所有使用者的資訊中的

name 使用

cut命令將

/etc/passwd

中的內容逐行解析,

"-d:"

以':'

將一行劃分出

7人字段列,

-f1,

為第一列

cut -d: -f1 /etc/passwd

linux下獲取使用者基本資訊

孫曉明,華清遠見嵌入式學院 講師。通過c語言基礎庫從獲取linux使用者的基本資訊。1 使用struct passwd管理使用者資訊。struct passwd 2 分析相並的系統檔案 etc passwd root x 0 0 root root bin bash daemon x 1 1 dae...

linux環境下獲取使用者基本資訊

通過c語言基礎庫從獲取linux使用者的基本資訊。1 使用struct passwd管理使用者資訊。2 分析相並的系統檔案 etc passwd 在passwd檔案中記錄的是所有系統使用者 每一行表示乙個完整的struct passwd結構,以 分隔出每一項值,其7項。3 獲取系統當前執行使用者的基...

微信批量獲取使用者基本資訊介面

介面 返回引數及輸入引數說明鏈結官網 直接貼方法咯 批量獲取使用者基本資訊 accesstoken var data new return commonjsonsend.send accesstoken,url,data,timeout timeout 使用者基本資訊類和 top方法返回類,可以寫在...