Chinaunix首页 | 论坛 | 博客
  • 博客访问: 989221
  • 博文数量: 200
  • 博客积分: 5011
  • 博客等级: 大校
  • 技术积分: 2479
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-27 15:07
文章分类

全部博文(200)

文章存档

2009年(12)

2008年(190)

我的朋友

分类:

2008-10-31 16:51:45

#include

 

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);

 

All three return: 0 if OK, 1 on error

要想改变一个文件的owner,需要满足:

1.  当前processeffective user 具有super user 权限 或者

2.  当前process如果拥有该文件,即当前process effective user id等于该文件的owner id,那么可以修改该文件的group id为当前processgroup idsupplement group ids中一个。Owner id是不能改的。

3.  如果仅仅当前process effective group id和该文件的group id相同,但processeffective user id和文件的owner id不同,且当前process不具有superuser权限时,也是不允许修改该文件的ownergroup的。说白了,如果我不是该文件的owner,我不能改其ownergroup

总之:要想改一个文件的owner,就得是superuser,要想改一个文件的group,至少要是该文件的owner

阅读(1524) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~