您的位置:首页 > 编程语言 > C语言/C++

C语言chown()函数:改变文件所有者

2016-07-12 08:38 2671 查看
相关函数:fchown, lchown, chmod

头文件:#include <sys/types.h>   #include <unistd.h>

定义函数: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 位,则该文件会被强制锁定,文件模式会保留。

返回值:成功则返回0, 失败返回-1, 错误原因存于errno.

错误代码:参考 chmod()。

范例

/* 将/etc/passwd 的所有者和组都设为root */

#include <sys/types.h>

#include <unistd.h>

main()

{

    chown("/etc/passwd", 0, 0);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: