linux文件属性及相关命令

一、文件属性详解

drwxr-xr-x属性主要分为4个部分:

第一部分

第一个字母,表示文件类型

  1. d 表示目录
  2. — 表示普通文件
  3. b 表示输入输出设备(可随机存取装置)
  4. l 表示链接文件
  5. c 表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
第2部分

从第2个字符到第4个字符,表示文件所有者权限

第3部分

从第5个字符到第7个字符,表示文件群组权限

第4部分

从第8个字符到第10个字符,表示其他用户的权限

其中 r 表示读权限,w 表示写权限,x表示执行权限,- 表示没有权限

二、更改文件权限命令chmod

文件属性有两种设置方法,一种是数字,一种是符号。

例如 drwxr-xr-x当前 test 文件的权限是:

  • 所有者-可读可写可执行
  • 用户组-可读可执行,不能写
  • 其他用户-可读可执行,不能写
1、 用数字表示
 chmod [-R] xyz 文件或目录

选项与参数:

  • -R 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
  • 其中 xyz 表示权限数字

各个权限符号可以用数字表示:

  • r : 4
  • w : 2
  • x : 1

每种身份(owner/group/others)各自三个权限(r/w/x)是需要分数累加的,例如当权限为-rwxr-xr-x分数则是:

  • owner 4+2+1 = 7
  • group 4+0+1 = 5
  • others 4+0+1 = 5

我们在更改test.sh文件权限的时候,用数字表示就是:

  chmod 755  test

如果想要一起更改目录下的文件的权限,执行

chmod -R 755 test
2、用符号表示

chmod [ugoa] [[+ / - / =] [rwx]] [文件名]

其中的 + 表示添加权限,- 表示减去权限,= 表示设定权限

用符号表示上边的test.sh的权限-rwxr-xr-x为:

 chmod u=rwx g=rx o=rx

三、超级用户更改文件拥有者和关联组 chown

注意:chown需要超级用户root权限才能使用,只有超级用户和属于组的文件所有者才能变更文件关联组。非超级用户如需要设置关联组可能需要使用 chgrp 命令。

  1. 将 test 的拥有者设置为 user1:

    chown user1 test
    
  2. 将 test 的拥有者改成 root, 所属组为 root:

     chown root:root test
    
  3. 将当前前目录下的所有文件与子目录的拥有者皆设为 root,群体的使用者 root:

     chown -R root:root test
    

四、普通用户改变文件所属的组 chgrp

与 chown 命令不同,chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员

  1. 更改文件的群组属性为staff:

     chgrp staff test
    
  2. 将test目录下的所有文件的所属组都改为staff:

    chgrp -R staff test
    

猜你喜欢

转载自blog.csdn.net/weixin_41767649/article/details/122116323