|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4.文件所有者和文件所有者组:通过stat结构体的注释信息可以看出,stat只能获取文件的uid和gid并不是uid gid对应的用户或组的名称。
& m" P5 @3 W3 V9 E9 H3 ^8 g* k% Y3 e, _! r, ]6 j" J; J
7 a) @2 d) J: i* X6 m" ^; P
uid找到对应的用户名是可以通过getpwuid这个系统调用获取,这个系统调用接受一个uid返回一个passwd的结构体,这个结构体成员如下:# s" G0 t1 w: Q& { r$ R8 ?# i
5 ]: M1 S, l8 H4 z# [5 n1 g* Z( x. c5 P9 A2 K% a
- char *pw_name;//User’s login name.
- uid_t pw_uid; //umerical user ID.
- gid_t pw_gid; //Numerical group ID.
- char *pw_dir;//Initial working directory.
- char *pw_shell;//Program to use as shell.<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
$ x4 q+ Y- y! b; h# ?. Y7 J
2 i8 o* P6 v" ^
5 Y2 U9 R& O: X! {9 u8 B, f
" N* E7 l/ \' J1 `9 _) t* L
% i: v7 v% N+ _7 F! E8 I+ @/ ~. `8 e# [, H, M( J' c* \3 z6 r
gid对应的组名同样可以找到一个系统调用来获取,通过man我发现可以通过getgrgid()系统调用传入一个gid A+ n% s" F- ^! N# P2 p8 t
1 u, m. w+ M- t' u7 X; O
7 s2 H0 J2 u7 \
7 V% u! l ^4 s3 C, h, `) l
- `' \ s) r/ B% _8 `6 B$ G* X* B* G4 ~% O) H
^* B- r V5 C) J( V
% _' A9 m2 ?; j% ^5 m R) _ |
|