《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中只有超级用户才能更改一个文件的所有者。



 

你可能感兴趣的:(chown)