linux学习笔记_5_文件,目录权限相关

文件目录基本属性

查看文件基本属性

  • 使用ls -al 可以查看一个目录下所有文件,子目录的属性
$ ls -al
total 16
drwxr-xr-x  3 lifan lifan 4096  5月  9 15:40 .
drwx------ 37 lifan lifan 4096  5月  9 22:18 ..
drwxr-xr-x  2 lifan lifan 4096  5月  9 15:40 tmp
-rw-r--r--  1 lifan lifan   39  5月  9 15:24 tmp.bin-hd
lrwxrwxrwx  1 lifan lifan    7  5月  9 15:27 tmp.bin-so -> tmp.bin

显示结果与属性名称对应关系

权限 链接数量 拥有者 用户组 文件大小 修改日期(文件内容) 文件名
-rw-r--r-- 1 lifan lifan 39 5月 9 15:24 tmp.bin-hd

权限字段

权限字段一共10个字符,各个字符含义解释如下

  • 第一个字符:
    • [-]表示文件,该类别下有分为三类,可以使用file filename方式查看文件类别:
      • 纯文本文件,可以直接阅读内容的文件。
      • 二进制文件,一般为系统可直接执行的文件。
      • 数据文件,程序运行中读取的文件。
    • [d]表示目录
    • [l]表示链接文件(软链接)
    • 设备文件,一般在/dev目录下
      • [c]字符(character)设备文件,串行端口的接口设备。例如键盘,鼠标等设备
      • [b]块(block)存取设备,可随机存储的接口设别。例如硬盘,软盘等
    • [s] 数据接口文件。 这类文件通常被用在网络上的数据交换。/run, /tmp目录下可以见到这种类型文件
    • [p] 数据输送文件(first in first out(FIFO), pipe),用于解决多个程序读取同一个文件的问题。manjaro 下 /run目录下可见该类型文件
  • 2-4 表示拥有者的权限
  • 5-7 表示用户组的权限
  • 8-10 表示其他人的权限

文件,目录在文件系统下的数据格式

  • 目录数据格式:一个inode区块,一个或多个数据区块。inode区块,记录目录的属性;数据区块,记录目录下文件,目录的名称及对应inode号码。
  • 文件数据格式:一个inode区块,一个或多个数据区块。inode区块,记录文件的属性;数据区块,记录文件内容。

文件,目录权限对应操作的理解

  • 文件权限对应操作
    • 文件的r(读),w(写), x(执行)指向内容均为文件的内容
  • 目录权限对应操作
    • 目录的r(读)指的是对目录数据区块的读取权限。对应到实际操作即,查看目录下文件内容(读取数据区块内容)。
    • 目录的w(写)指的是对目录数据区块的修改权限。对应到实际操作即,增加文件,修改文件名,删除文件(修改数据区块内容)。
    • 目录的x(执行)指的是能否进入该目录。
    • 通过实际操作特殊情况如下。若对目录仅有r,通过ls,仅可查看文件名和权限自字段第一个字符,只有增加x,可查看完整权限。其他情况如上所述

修改文件,目录属性

  • chgrp (change group)修改文件所属用户组
    • chgrp [-R] groupname filename/dirname
      • -R表示递归的修改目录下子目录,文件用户组
  • chown (change owner)修改文件的拥有者
    • chown [-R] username filename/dirname
      • -R 作用同上
    • chown [-R] username:groupname filename/dirname 可以同时修改拥有者,用户组属性
  • chmod 修改文件,目录权限
    • chmod [-R] xxx filename/dirname
      • -R 作用同上
      • xxx是代表属性的三位数字。
    • 符号形式
      • u,g,o分别表示拥有者,用户组,其他人,=用于设置权限,对应的+用于增加权限,-用于删除权限。a表示对所有身份进行操作。
      • chmod u=rx,g=r,o=r filename/dirname表示,拥有者设置为写,执行;用户组设置为读;其他人设置为读。
      • chmod u=rw,a+x filename/dirname 拥有者设置为读写,所有身份增加执行权限。

参考

《鸟哥的linux 私房菜》

原文地址:https://www.cnblogs.com/lif323/p/10882601.html