linux 更改文件所属用户及用户组_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2226 | 回复: 0   主题: linux 更改文件所属用户及用户组        下一篇 
leixianp
注册用户
等级:新兵
经验:57
发帖:64
精华:0
注册:2011-7-26
状态:离线
发送短消息息给leixianp 加好友    发送短消息息给leixianp 发消息
发表于: IP:您无权察看 2015-7-22 17:12:25 | [全部帖] [楼主帖] 楼主

二、使用chown命令更改文件拥有者

在 shell 中,可以使用chown命令来改变文件所有者。chown命令是change owner(改变拥有者)的缩写。需要要注意的是,用户必须是已经存在系统中的,也就是只能改变为在 /etc/passwd这个文件中有记录的用户名称才可以


chown命令的用途很多,还可以顺便直接修改用户组的名称。此外,如果要连目录下的所有子目录或文件同时更改文件拥有者的话,直接加上 -R的参数即可。

基本语法:

chown [
-R]


 账号名称文件


目录

chown [
-R]


账号名称:
用户组名称文件


目录

参数

-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录

都更新成为这个用户组。常常用在更改某一目录的情况。

示例1

[root@localhost home]#
touch testfile //由 root 用户创建文件 


[root@localhost home]#
lstestfile –l
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile //文件的拥有者及拥有者级均为 root 


[root@localhost home]#
chownyangzongdetestfile//修改文件拥有者为 yangzongde


[root@localhost home]#
lstestfile -l
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde,但组仍为 root 


示例2

chownbininstall.log
ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log
chown root:root install.log
ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log


三、使用chgrp命令更改文件所属用户组


在shell中,可以使用chgrp命令来改变文件所属用户组,该命令就是change group(改变用户组)的缩写。需要注意的是要改变成为的用户组名称,必须在/etc/group里存在,否则就会显示错误。

基本语法:

chgrp [
-R]


用户组名称 dirname/

 filename ...


参数:

-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录

都更新成为这个用户组。常常用在更改某一目录的情况。

示例3

[root@localhost home]#
lstestfile-l
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde,但组为 root 


[root@localhost home]#
chgrpyangzongde testfile //修改拥有者组为 yangzongde 


[root@localhost home]#
lstestfile -l
-rw--w--w- 1 yangzongde yangzongde 0 Jun 7 19:35 testfile
[root@localhost home]#
chownroot:roottestfile // 使用 chown 一次性修改拥有者及组 
[root@localhost home]#
ls testfile-l
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile


示例4

[root@linux ~]#
chgrpusers install.log
[root@linux ~]#
ls-l
-rw-r--r--  1 root users 68495 Jun 25 08:53 install.log


示例5

更改为一个
/etc/group

不存在的用户组

[root@linux ~]#
chgrptestinginstall.log


chgrp: invalid group name `testing' <== 出现错误信息~找不到这个用户组名~

四、chown 函数的使用

在Linux 的C 应用编程中,可以使用 chown 函数来修改文件的拥有者及拥有者组。此函数声明如下:


/usr/include/unistd.h

文件中


/* Change the owner and group of FILE. */

externint chown (__const char*__file,__uid_t __owner,__gid_t __group)__THROW __nonnull ((1)) __wur;



此函数的第一个参数为欲修改用户的文件,第二个参数为修改后的文件拥有者,第三个参数为修改后该文件拥有者所在的组。



对于已打开的文件,使用 fchown 函数来修改。其第一个参数为已打开文件的文件描述符,其他同 chown 函数。该函数声明如下:



/* Change the owner and group of the file that FD is open on. */

externint fchown (int __fd,__uid_t __owner,__gid_t __group) __THROW __wur;

对于连接文件,则可以使用 lchown 函数。其参数同于 chown 函数。 


/* Change owner and group of FILE, if it is a symbolic link the ownership of the symbolic 

link is changed. */

externint lchown (__const char*__file,__uid_t __owner,__gid_t __group) __THROW __nonnull ((1)) __wur;

以上这 3 个函数如果执行成功,将返回 0,否则返回-1。

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论