一、介绍
下列函数改变一个文件的拥有者和所属组,只有超级用户才能更改
chown: 更改由路径名指定的文件的所有权,如果它是符号链接,改变的是真实指向的文件
fchown: 更改打开文件描述符fd引用的文件的所有权
lchown: 类似于chown,文件是符号链接就是符号链接本身不解引用
fchownat: 除了描述的差异外,操作方式与chown完全相同
二、接口函数
#include <unistd.h>
int chown(const char *pathname, uid_t owner, gid_t group);
参数:
pathname: 路径名
owner: 要改变成的文件用户所属id
group: 要改变成的文件组所属id
如若两个参数owner或group中的任意一个是-1,则对应的ID不变
返回值:
成功返回0,失败返回-1,并设置errno
int fchown(int fd, uid_t owner, gid_t group);
参数:
fd: 文件不是路径名而是 open后的文件描述符
owner: 要改变成的文件用户所属id
group: 要改变成的文件组所属id
如若两个参数owner或group中的任意一个是-1,则对应的ID不变
返回值:
成功返回0,失败返回-1,并设置errno
int lchown(const char *pathn