|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4.文件所有者和文件所有者组:通过stat结构体的注释信息可以看出,stat只能获取文件的uid和gid并不是uid gid对应的用户或组的名称。
. `- j: g# o0 n$ S. z3 M5 T/ l4 U8 @, G: L) ~
( ]+ R) O: A4 q9 w% v( R9 c7 ^/ Y
uid找到对应的用户名是可以通过getpwuid这个系统调用获取,这个系统调用接受一个uid返回一个passwd的结构体,这个结构体成员如下:
# O. v3 G# w! B8 D4 h& I& M) s3 H7 d _
4 y6 T6 s! E' X8 r. G
- 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>
8 }+ w4 [* e9 D4 E/ Q 5 j5 i( W2 j. {% W2 i# _
c3 P: `$ o) q' h9 w. a7 n: n5 l4 T
9 D, J p( I) A2 z* k6 g8 J$ Q- N2 T( ~% b; I- K5 o/ I0 g8 R
7 K/ M9 ~/ ], O3 @) k: w, Bgid对应的组名同样可以找到一个系统调用来获取,通过man我发现可以通过getgrgid()系统调用传入一个gid1 X9 v. d1 m' E/ [1 g
, T& C* r& ^& j8 g7 \. [* n
3 U# c. e, Q1 ?! L4 z' c0 o4 s; X8 a# P6 `9 _/ H2 g u
9 y7 I5 b. ?9 K) C
4 z( |+ S. c/ V* x
; q0 F9 G; Y* g# j, D! i+ k
9 Z) [9 b, X$ T0 N# P( l, i
|
|