这三个函数都是用来更改文件的用户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中只有超级用户才能更改一个文件的所有者。