int utime(const char * filename,struct utimbuf * buf); utime()用来修改参数filename文件所属的inode存取时间。结构utimbuf定义如下: struct utimbuf{ time_t actime; time_t modtime; }; struct passwd *getpwnam(const char *name); 信息存贮在如下的结构体之中 struct passwd { char * pw_name; /* Username. */ char * pw_passwd; /* Password. */ __uid_t pw_uid; /* User ID. */ __gid_t pw_gid; /* Group ID. */ char * pw_gecos; /* Real name. */ char * pw_dir; /* Home directory. -*/ char * pw_shell; /* Shell program. */ }; int chown(const char * path, uid_t owner, gid_t group); chown()会将参数path 指定文件的所有者变更为参数owner 代表的用户,而将该文件的组变更为参数group 组。如果参数owner 或group 为-1,对应的所有者或组不会有所改变。root 与文件所有者皆可改变文件组,但所有者必须是参数group 组的成员。当root 用chown()改变文件所有者或组时,该文件若具有S_ISUID或S_ISGID 权限,则会清除此权限位,此外如果具有S_ISGID 权限但不具S_IXGRP 位,则该文件会被强制锁定,文件模式会保留。 struct utmp *getutent(void); 函数说明:getutent()用来从utmp 文件(/var/run/utmp)中读取一项登录数据, 该数据以utmp 结构返回。 第一次调用时会取得第一位用户数据, 之后每调用一次就会返回下一项数据, 直到已无任何数据时返回NULL. |