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);
}
头文件:#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);
}
相关文章推荐
- C语言fchmod()函数:修改文件的权限
- 详细对比C语言中的chmod()函数和fchmod()函数
- geek青年的状态机
- POJ3272 奶牛交通 解题报告
- 山东理工OJ 1132 C/C++经典程序训练2---斐波那契数列
- 《C++ Primer Plus》12.6 复习各种(类和动态内存分配的)技术 笔记
- C++11 之 " = delete "
- c语言 函数
- 《C++程序设计原理及实践》- 错误
- OC语言中关于触摸事件和手势
- OC语言——————表视图
- Awesome C/C++(图像部分)
- 天梯赛训练2 5-4 最长连续递增子序列 (20分)
- BZOJ 2440 [中山市选2011] 完全平方数
- Tyvj 1403 关押罪犯
- C# 调用C++dll 引发DllNotFoundException
- VIJOS P1889 天真的因数分解
- 天梯赛2 重现5-4 最长连续递增子序列
- 浅谈变换(证明)→反演→莫比乌斯反演→线筛运用
- 单词切分