linux 改变用户组、文件拥有者、文件属性

本文深入解析了Linux系统中用于管理文件和目录权限的三大命令:chgrp(改变用户组)、chown(更改文件拥有者)、chmod(更改文件属性)。详细介绍了各命令的用法、选项、示例,并通过具体操作演示了如何改变文件的所属组、用户以及文件的权限设置。

改变用户组:chgrp;改变文件拥有者:chown;改变文件属性:chmod

下面详细解析这3个命令:

1、chgrp

用法:chgrp [选项]... 用户组 文件...
 或:chgrp [选项]... --reference=参考文件 文件...
将每个指定文件的所属组设置为指定值。
如果使用 --reference,则将每个文件的所属组设置为与指定参考文件相同。

  -c, --changes			类似 --verbose,但只在有更改时才显示结果
      --dereference		影响符号链接所指示的对象,而非符号链接本身(默认值)
  -h, --no-dereference		会影响符号链接本身,而非符号链接所指示的目的地
				(当系统支持更改符号链接的所有者时,此选项才有用)
      --no-preserve-root	不特殊对待"/"(默认值)
      --preserve-root		不允许在"/"上递归操作
  -f, --silent, --quiet		去除大部份错误信息
      --reference=RFILE		使用参考文件的所属组,而非指定值
  -R, --recursive		递归处理所有的文件及子目录
  -v, --verbose			为处理的所有文件显示诊断信息

以下选项是在指定了 -R 选项时被用于设置如何穿越目录结构体系。
如果您指定了多于一个选项,那么只有最后一个会生效。

  -H         如果命令行参数是一个通到目录的符号链接,则遍历符号链接
  -L         遍历每一个遇到的通到目录的符号链接
  -P         不遍历任何符号链接(默认)

      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

示例:
  chgrp staff /u            将 /u 的属组更改为"staff"。
  chgrp -hR staff /u    将 /u 及其子目录下所有文件的属组更改为"staff"。
以上是官方帮助文档,平时主要使用的是-R,即递归处理子文件以及目录,付实例:

1)首先要知道如何查看文件所属用户组:ls -l 命令,例如:

-rw------- 1 xyw xyw  19009993 11月  7 16:42 C++ Primer, Fifth Edition.pdf
-rw------- 1 xyw root 27616196 11月  8 10:08 test3.zip
-rw------- 1 xyw xyw   2580864 11月  7 16:41 Time.Management.-.The.Manager's.Guide.to.Effective.Meetings.-.B.J.Streibel.(McGraw-Hill).-.2003.pdf
-rw------- 1 xyw xyw        70 11月  7 16:27 virus
-rw------- 1 xyw xyw     39767 11月  7 16:27 北邮校徽.jpg
包括9列,分别为:文件属性、文件硬链接数或子目录数、文件拥有者、文件拥有者所在组、文件大小(字节)、文件创建月份、文件创建日期、文件创建时间、文件名。

(有关ls -l 详见 《ls -l 列表详解》)

2)更改单个文件用户组:chgrp xyw test3.zip

-rw------- 1 xyw xyw 19009993 11月  7 16:42 C++ Primer, Fifth Edition.pdf
-rw------- 1 xyw xyw 27616196 11月  8 10:08 test3.zip
-rw------- 1 xyw xyw  2580864 11月  7 16:41 Time.Management.-.The.Manager's.Guide.to.Effective.Meetings.-.B.J.Streibel.(McGraw-Hill).-.2003.pdf
-rw------- 1 xyw xyw       70 11月  7 16:27 virus
-rw------- 1 xyw xyw    39767 11月  7 16:27 北邮校徽.jpg
3)更改文件夹用户组:sudo chgrp -R root test

-rw------- 1 xyw root 19009993 11月  7 16:42 C++ Primer, Fifth Edition.pdf
-rw------- 1 xyw root 27616196 11月  8 10:08 test3.zip
-rw------- 1 xyw root  2580864 11月  7 16:41 Time.Management.-.The.Manager's.Guide.to.Effective.Meetings.-.B.J.Streibel.(McGraw-Hill).-.2003.pdf
-rw------- 1 xyw root       70 11月  7 16:27 virus
-rw------- 1 xyw root    39767 11月  7 16:27 北邮校徽.jpg
2、chown:更改用户所有者

用法:chown [选项]... [所有者][:[组]] 文件...
 或:chown [选项]... --reference=参考文件 文件...
更改每个文件的所有者和/或所属组。
当使用 --referebce 参数时,将文件的所有者和所属组更改为与指定参考文件相同。

  -c, --changes			类似 verbose,但只在有更改时才显示结果
      --dereference		受影响的是符号链接所指示的对象,而非符号链接本身
  -h, --no-dereference		会影响符号链接本身,而非符号链接所指示的目的地
				(当系统支持更改符号链接的所有者时,此选项才有用)
      --from=当前所有者:当前所属组
                         	只当每个文件的所有者和组符合选项所指定时才更改所
				有者和组。其中一个可以省略,这时已省略的属性就不
				需要符合原有的属性。
      --no-preserve-root	不特殊对待"/"(默认值)
      --preserve-root		不允许在"/"上递归操作
  -f, --silent, --quiet	去除大部份的错误信息
      --reference=参考文件	使用参考文件的所属组,而非指定值
  -R, --recursive		递归处理所有的文件及子目录
  -v, --verbose			为处理的所有文件显示诊断信息

以下选项是在指定了 -R 选项时被用于设置如何穿越目录结构体系。
如果您指定了多于一个选项,那么只有最后一个会生效。

  -H         如果命令行参数是一个通到目录的符号链接,则遍历符号链接
  -L         遍历每一个遇到的通到目录的符号链接
  -P         不遍历任何符号链接(默认)

      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

如果没有指定所有者,则不会更改。 所属组若没有指定也不会更改,但当加上
":"时 GROUP 会更改为指定所有者的主要组。所有者和所属组可以是数字或名称。

示例:
  chown root /u		将 /u 的属主更改为"root"。
  chown root:staff /u	和上面类似,但同时也将其属组更改为"staff"。
  chown -hR root /u	将 /u 及其子目录下所有文件的属主更改为"root"。
chown的用法类似于chgrp。举例:

1)更改单个文件所有者:sudo chown root test3.zip

-rw------- 1 xyw  root 19009993 11月  7 16:42 C++ Primer, Fifth Edition.pdf
-rw------- 1 root root 27616196 11月  8 10:08 test3.zip
-rw------- 1 xyw  root  2580864 11月  7 16:41 Time.Management.-.The.Manager's.Guide.to.Effective.Meetings.-.B.J.Streibel.(McGraw-Hill).-.2003.pdf
-rw------- 1 xyw  root       70 11月  7 16:27 virus
-rw------- 1 xyw  root    39767 11月  7 16:27 北邮校徽.jpg
2)更改文件夹所有者:sudo chown -R test

-rw------- 1 root root 19009993 11月  7 16:42 C++ Primer, Fifth Edition.pdf
-rw------- 1 root root 27616196 11月  8 10:08 test3.zip
-rw------- 1 root root  2580864 11月  7 16:41 Time.Management.-.The.Manager's.Guide.to.Effective.Meetings.-.B.J.Streibel.(McGraw-Hill).-.2003.pdf
-rw------- 1 root root       70 11月  7 16:27 virus
-rw------- 1 root root    39767 11月  7 16:27 北邮校徽.jpg
3、chmod:更改文件属性

文件属性的设置有2种方法:使用数字或者符号。

1)数字

linux文件的属性有9个,即owner/group/others组别的read/write/execute属性,即文件拥有者/文件用户组/其他组对文件的读/写/执行权限。

-rwxrwxrwx

这9个属性,三个为一组,可以使用数字表示各个属性:

r:4       w:2      x:1

同一组的三个属性需要累加,例如:-rwxr-xr--

owner=rwx=4+2+1=7

group=r-x=4+0+1=5

others=r--=4+0+0=4

所以在设置属性时,数字为754.

格式:chmod [-R]  xyz 文件或目录

xyw即属性的数字。举例说明:

更改前:

-rw------- 1 xyw xyw 27616196 11月  8 10:08 test3.zip
更改test3.zip的文件属性为:-rwxrwxrwx,即777

chmod 777 test3.zip

更改后:

-rwxrwxrwx 1 xyw xyw 27616196 11月  8 10:08 test3.zip
更改test3.zip文件属性为:-rwxr--r--,即744

chmod 744 test3.zip

更改后:

-rwxr--r-- 1 xyw xyw 27616196 11月  8 10:08 test3.zip
经常使用的场景:我们平时建立的文件属性通常为-rw-rw-r--,如果想将其变成可执行文件,且不希望他人修改的话,即-rwxr-xr-x,即755。

2)符号

从上文介绍的9个属性看,分别是1)user 2)group 3)others 三组,分别使用u、g、o表示,此外,a表示全部,即全部的三组。读写属性可以写成:r、w、x。

格式:chmod u/g/o/a  +(加入)/-(除去)/=(设置) r/w/x

举例:设置test3.zip的属性为:-rwxr-xr-x,即:chmod u=rwx,go=rx test3.zip (注:u=rwx,go=rx 中间不能有空格)

user:具有可读、可写、可执行权限

group和others:具有可读、可执行

更改前:

-rwxrw-rw- 1 xyw xyw 27616196 11月  8 10:08 test3.zip
更改后:

-rwxr-xr-x 1 xyw xyw 27616196 11月  8 10:08 test3.zip
设置test3.zip属性为:-rwxrw-r--,即:chmod u=rwx,g=rw,o=r test3.zip
更改后:

-rwxrw-r-- 1 xyw xyw 27616196 11月  8 10:08 test3.zip
如果不知道文件原先的属性只是想增加或除去属性,可以使用+、-

举例:

为每个用户增加对test3.zip的执行权限:chmod a+x test3.zip

更改后:

-rwxrwxr-x 1 xyw xyw 27616196 11月  8 10:08 test3.zip
除去所有人对文件test3.zip的执行权限:chmod a-x test3.zip

更改后:

-rw-rw-r-- 1 xyw xyw 27616196 11月  8 10:08 test3.zip

经常使用的场景:对一个新建的shell脚本添加执行权限:chmod u+x  test.sh

本文为Eliot原创,转载请注明出处:http://blog.youkuaiyun.com/xyw_blog/article/details/15165209


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值