zoukankan      html  css  js  c++  java
  • 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 私房菜》

  • 相关阅读:
    JavaWeb--HttpSession案例
    codeforces B. Balls Game 解题报告
    hdu 1711 Number Sequence 解题报告
    codeforces B. Online Meeting 解题报告
    ZOJ 3706 Break Standard Weight 解题报告
    codeforces C. Magic Formulas 解题报告
    codeforces B. Sereja and Mirroring 解题报告
    zoj 1109 Language of FatMouse 解题报告
    hdu 1361.Parencodings 解题报告
    hdu 1004 Let the Balloon Rise 解题报告
  • 原文地址:https://www.cnblogs.com/lif323/p/10882601.html
Copyright © 2011-2022 走看看