《UNIX环境高级编程》笔记--chown,fchown和lchown函数

这三个函数都是用来更改文件的用户ID和组ID的,函数的定义如下:

#include <unistd.h>
int chown(const char *pathname, uid_t owner, gid_t group);
int fchown(int filedes, uid_t owner, gid_t group);
int lchown(const char *pathname, uid_t owner, gid_t group); //更改的是符号链接文件本身的用户ID和组ID
//三个函数的返回值:若成功则返回0,失败则返回-1.

如果owner或group值是-1,则对应的ID不变。


基于BSD的系统一直规定只有超级用户才能更改一个文件的所有者,防止用户更改文件的所有者从而摆脱磁盘限制

对他们的束缚,而system V允许人一用户更改他所拥有的文件的所有者。

经过测试,ubuntu中只有超级用户才能更改一个文件的所有者。



原文地址:https://www.cnblogs.com/riskyer/p/3341601.html