当前位置:首页 > 开发 > 操作系统 > 正文

更改linux的文件拥有者及用户组(chown和chgrp)

发表于: 2015-03-31   作者:无量   来源:转载   浏览:
摘要: 本文(转) http://blog.163.com/yanenshun@126/blog/static/128388169201203011157308/ http://ydlmlh.iteye.com/blog/1435157 一、基本使用: 使用chown命令可以修改文件或目录所属的用户:        命令

本文(转)

一、基本使用:

使用chown命令可以修改文件或目录所属的用户:

       命令:chown 用户 目录或文件名

       例如:chown qq /home/qq  (把home目录下的qq目录的拥有者改为qq用户) 

使用chgrp命令可以修改文件或目录所属的组:

       命令:chgrp 组 目录或文件名

       例如:chgrp qq /home/qq  (把home目录下的qq目录的所属组改为qq组)

 
二、基本知识
   在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户。该文件用户可以修改该文件的拥有者及用户组,当然root用户可以修改任何文件的拥有者及用户组。在Linux中,对于文件的权限(rwx),分为三部分,一部分是该文件的拥有者所拥有的权限,一部分是该文件所在用户组的用户所拥有的权限,另 一部分是其他用户所拥有的权限 。对于文件的权限请参考《 Linux的chmod命令
   文件(含文件夹,下同)的权限,在shell中可以通过chmod命令来完成,关于此请参考 Linux的chmod命令 在  shell  中,可以使用 chown命令 来改变文件所有者及用户组, chgrp命令 来改变文件所在用户组。 在 Linux的 C程序 中,可以使用 chown函数 来改变文件所有者, 所在用户组。
  另外, 在shell中,要修改文件当前的用户必须具有管理员root的权限。可以通过su命令切换到root用户,也可以通过sudo获得root的权限。
三、使用 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]#  ls  testfile  –l 
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile  //文件的拥有者及拥有者级均为 root 
[root@localhost home]#  chown  yangzongde  testfile  //修改文件拥有者为 yangzongde 
[root@localhost home]#  ls  testfile  -l 
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile  //查看文件拥有者为 yangzongde,但组仍为 root 
示例2
chown   bin   install.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]#  ls  testfile  -l 
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile  //查看文件拥有者为 yangzongde,但组为 root 
[root@localhost home]#  chgrp   yangzongde  testfile  //修改拥有者组为 yangzongde 
[root@localhost home]#  ls  testfile  -l 
-rw--w--w- 1 yangzongde yangzongde 0 Jun 7 19:35 testfile 
[root@localhost home]#  chown  root: root  testfile  // 使用 chown 一次性修改拥有者及组 
[root@localhost home]#  ls  testfile  -l 
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile 
示例4
[root@linux ~]#  chgrp  users  install.log
[root@linux ~]#  ls  -l
-rw-r--r--  1 root users 68495 Jun 25 08:53 install.log
示例5
更改为一个   /etc/group 不存在的用户组
[root@linux ~]#  chgrp  testing  install.log
chgrp: invalid group name `testing' <== 出现错误信息~找不到这个用户组名~
五、chown 函数的使用
在Linux 的C 应用编程中,可以使用  chown 函数 来修改文件的拥有者及拥有者组。此函数声明如下: 
/usr/include/unistd.h文件中
/* Change the owner and group of FILE. */  
extern int 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. */  
extern int 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. */  
extern int lchown ( __const char * __file , __uid_t __owner , __gid_t __group ) __THROW __nonnull (( 1 )) __wur ;  
以上这 3 个函数如果执行成功,将返回 0,否则返回-1。

更改linux的文件拥有者及用户组(chown和chgrp)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
 在linux里是可以通过ps 和grep来查询到的。如下图中使用ps aux|grep nginx来查询nginx进程使用什
Drecik学习经验分享 转载请注明出处:http://blog.csdn.net/drecik__/article/details/8453402 1. c
一、目的 本文将介绍linux的chown和chgrp命令。 chown用来设置文件的拥有者;chgrp用来设置文件的所
权限机制 1.权限是用来限制对资源访问的机制,权限一般分为,读、写和执行。系统中没个文件都拥有特
用户组 在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、
单个文件名或目录名长度不超过255字符; 文件或目录的绝对路径长度不超过4096字符; 一、文件所有者
转自 linux下用户,用户组和用户权限的查看 相关文件: /usr/bin/passwd 包含 passwd 命令。 /etc/pa
groupadd shuaige 创建一个用户组名字叫shuaige ls -l /home/wangyunpeng/abcd 查看abcd文件的权限
1,用户和用户组文件 在linux中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置
1,用户和用户组文件 在linux中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号