Linux 的档案与目录管理--3
极其重要的复习!权限与指令间的关系
我们知道权限对于使用者账号来说是非常重要的,因为它可以限制使用者能不能读取/建立/删除/修改档案或目录!
了解一下什么指令在什么样的权限下才能够运作吧:
一、使用者能进入目录称为【可工作目录】的基本权限为何:
- 可使用的指令:例如 cd 等变量工作目录的指令;
- 目录所需权限:使用者对这个目录至少需要具有 x 的权限;
- 额外需求:如果使用者想要在这个目录内利用 ls 查阅档名,则使用者对此目录还需要 r 的权限。
二、使用者在某个目录内读取一个档案的基本权限为何?
- 可使用的指令:例如 cat, more, less 等等;
- 目录所需权限:使用者对于这个目录至少需要具有 x 权限;
- 档案所需权限:使用者对档案至少需要具有 r 的权限才行!
三、让使用者可以修改一个档案的基本权限为何?
- 可使用的指令:例如 nano 或 vi 编辑器等;
- 目录所需权限:使用者在该档案所在的目录至少要有 x 权限;
- 档案所需权限:使用者对该档案至少要有 r, w 权限。
四、让一个使用者可以建立一个档案的基本权限为何?
- 目录所需权限:使用者在该目录要具有 w, x 的权限,重点在 w 哦!
五、让使用者进入某目录并执行该目录下的某个指令之基本权限为何?
- 目录所需权限:使用者在该目录至少要有 x 的权限;
- 档案所需权限:使用者在该档案至少需要有 x 的权限。
重点回顾
- 绝对路径:【一定由根目录 / 写起】;相对路径:【不由 / 写起,而是由相对当前目录写起】
- 特殊目录有:
.
,..
,-
,~
,~account
需要注意; - 与目录相关的指令有: cd, mkdir, rmdir, pwd 等重要指令;
- rmdir 仅能删除空白目录,要删除非空目录需要使用【rm -r】指令;
- 使用者能使用的指令是依据 PATH 变量所规定的目录去搜索的;
- ls 可以检查档案的属性,尤其 -d, -a, -l 等选项特别重要;
- 档案的复制、删除、移动可以分别使用:cp, rm, mv 等指令来操作;
- 检查档案的内容(读档)可使用的指令包括有:cat, tac, nl, more, less, head, tail, od 等;
- cat -n 与 nl 均可显示行号,但预设的情况下,空白行会不会编号并不相同;
- touch 的目的在修改档案的时间参数,但亦可用来建立空档案;
- 一个档案记录的时间参数有三种,分别是 access time(atime), status time(ctime), modification time(mtime), ls 预设显示的是 mtime;
- 除了传统的 rwx 权限之外,在 Ext2/Ext3/Ext4/xfs 档案系统中,还可以使用 chattr 与 lsattr 设定及观察隐藏属性。常见的包括只能新增资料的 +a 与完全不能更动档案的 +i 属性。
- 新建档案/目录时,新档案的预设权限使用 umask 来规范。预设目录完全权限为 drwxrwxrwx ,档案则为 -rw-rw-rw-;
- 档案具有 SUID 的特殊权限时,代表当使用者执行此一 binary 程序时,在执行过程中使用者会暂时具有程序拥有者的权限;
- 目录具有 SGID 的特殊权限时,代表使用者在这个目录底下新建的档案之群组都会与该目录的群组名称相同。
- 目录具有 SBIT 的特殊权限时,代表在该目录下使用者建立的档案只有自己与 root 能够删除;
- 观察档案的类型可以使用 file 指令来观察;
- 搜索指令的完整档名可用 which 或 type,这两个指令都是通过 PATH 变量来搜索档名;
- 搜索档案的完整档名可以使用 whereis 找特定目录或 locate 到资料库去搜索,而不实际搜索档案系统;
- 利用 find 可以加入许多选项来直接查询档案系统,以获得自己想要知道的档名。
hare
2020.3.13