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

改变用户组: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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值