0%

第5章:Linux的文件权限与目录配置

任何文件都有属主、属组、其他人的权限

一、文件属性

1571393625(1)

1. 文件类型

  • d:目录
  • -:文件
  • l:链接文档
  • b:装置文件里的可供储存的接口设备(可随机读取设备)
  • c:装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取设备)

2. 用户权限

  • rw-:文件所有者具备的权限

  • r–:加入此群组的账号的权限

  • r–:非本人且没加入该组的其他账号的权限
    无论是属主、属组、其他人的权限都是针对账号来设计的

3. 改变文件属性(属主、属组)

  • chgrp:改变文件所属群组
  • chown:改变文件所有者、属组

chgrp -R group dirname/filename (-R是递归修改整个目录及文件的属组)
chown [OPTION]... [OWNER][:[GROUP]] FILE...
4. 改变文件权限

  • chmod:改变文件的权限,SUID、SGID、STID等
    在复制文件,给他人时,会复制执行者的属性与权限,
    比如文件原权限是-rw-r–r– j user1
    经root用户复制到另一个地方后为-rw-r–r– root root 到user2用户路径下
    则user2还是不能修改这个文件,因为user2属于其他人。
    所以,此时就要修改复制后的文件的权限、属主、属组
    chmod 770 filename 数字类型改变权限
    符号类型改变文件权限 u g o a u=rw u+x a-r

    二、目录与文件的权限意义

1. 权限对文件的意义(理解重点:文件权限是针对的实际内容或数据,与此文档的存在与否无关)

  • r:可读取此文件内容

  • w:编辑、新增、修改文件内容

  • x:文件具有被系统执行的权限(注意点:文件是否可执行,要看权限,而不是看拓展名,在Linux中,拓展名只是方便记忆,没有实际意义)

2. 权限对目录的意义(文件名列表)

  • r:读取目录结构列表

  • w:异动该目录结构列表 增加、删除、更改命名、搬移该目录内的文件、目录位置

  • x:目录不能用来执行,代表用户是否能进此目录成为工作目录,就是能cd进入的(非常重要的概念)
    1571624948(1)

注意:若某目录不具有x的权限,那么就无法切换到该目录,也就无法执行该目录下的任何命令,即使有该目录的r、w。所以在开放目录给任何人浏览时,至少加r、x。只有w,是无法浏览目录结构的,只是能切到该目录

3. 用户操作功能与权限
1571626808(1)
要读一个文件,要具备这个文件所在目录的x权限,所以通常开放目录,至少具备rx这两个权限

三、Linux文件种类

1. 正规文件 ls -al 第一个字符为-的

  • 纯文本文档
  • 二进制文件:可执行文件
  • 数据格式文件:读出出来是乱码

2. 目录 “d”

3. 连接文件 “l”
类似于Windows下的快捷方式

4.设备与装置文件 /dev

  • 区块设备档“b”:一些储存数据,以提供系统随机存取的接口设备,比如:硬盘

  • 字符设备文件”c”:串行端口的接口设备,比如键盘、鼠标

四、Linux文件拓展名

  1. 文件是否可执行,要看权限,而不是看拓展名,在Linux中,拓展名只是方便记忆,没有实际意义
  2. -x是有可执行的权限,与可以执行是两回事。
    当有-x和文件是可执行的程序代码,才可以执行

五、绝对路径与相对路径

比如当前目录是/home/j/dir1

  • .:代表当前目录 (比如要去/home/j/dir1/a.txt,则./a.txt)
  • ..:代表上一层目录(比如要去/home/j/dir2,则../dir2)