跟运维学 Linux - 03 中有哪些重点内容?
摘要:## 权限机制和性能指标 前面我们学完了`操作文件`和`用户`相关知识,本篇学习`权限`和`性能`相关知识。 ### 文件的属性看起 看 linux 的权限,先从文件的属性看起 ls -l 加 `-d` 是只看这个文件夹: ```javas
权限机制和性能指标
前面我们学完了操作文件和用户相关知识,本篇学习权限和性能相关知识。
文件的属性看起
看 linux 的权限,先从文件的属性看起
ls -l 加 -d 是只看这个文件夹:
pjl@pjl-pc:~$ sudo ls -ld /root
drwx------ 8 root root 4096 7月 18 16:20 /root
最左侧的 d 表示目录,这个前面已经说过,后面的又是什么?我们两部分来讲:rwx------、root root。
属主和属组
root root,第一个 root 表示这个文件夹是 root 用户,后一个 root 表示这个文件夹是 root 组的。
专业的叫法,前者叫做文件夹的属主,后者叫做文件夹的属组。
我们再来看一个:
pjl@pjl-pc:~$ ls -ld /home/test19
drwxr-xr-x 2 test19 test19 4096 7月 18 15:32 /home/test19
这里说明 /home/test19 文件夹的主人是 test19 用户,test19 组成员也是这个文件夹的主人。
既然 root 用户和 root 组成员是 /root 文件夹的主人,是否就可以对其为所欲为?
权限位
明白了属主和属组,如何看一个一个的文件以及文件夹的权限?
我们把 rwx------ 拆成三部分来看:rwx、---、---。
root 用户的权限对应第一部分:rwx。可读,可写,可执行。
root 组成员的权限对应第二部分:---。不可读、不可写、不可执行
权限位由三部分组成:读权限(r/-) + 写权限(w/-) + 执行权限(x/-)。
位权限和普通文件的关系
普通文件和文件夹的权限位,代表的意思不一样。
先看普通文件:
pjl@pjl-pc:~/linux-test$ ls -l
总用量 4
-rwxrw-r-- 1 pjl pjl 6 7月 19 17:14 a.txt
pjl 用户对应的权限是可读可写可执行(rwx)。
对于 pjl 组成员的权限是可读可写不可执行(rw-)。
对于普通文件,可读就是能读取(例如 cat、head)文件内容:
pjl@pjl-pc:~/linux-test$ cat a.txt
apple
对于普通文件,可写权限就是可以通过编辑保存。如果没有写权限,vim 不让你保存。
可执行权限,后续讲脚本的时候再说,简单理解:是否可以运行脚本。
// 创建一个脚本
pjl@pjl-pc:~/linux-test$ ls -l
-rw-rw-r-- 1 pjl pjl 26 7月 19 17:40 a.sh
// 没有执行权限
pjl@pjl-pc:~/linux-test$ ./a.sh
-bash: ./a.sh: 权限不够
// 增加执行权限
pjl@pjl-pc:~/linux-test$ chmod u+x a.sh
pjl@pjl-pc:~/linux-test$ ls -l
-rwxrw-r-- 1 pjl pjl 26 7月 19 17:40 a.sh
// 能执行了
pjl@pjl-pc:~/linux-test$ ./a.sh
hello
位权限和文件夹的关系
以这个文件夹为例:
pjl@pjl-pc:~/linux-test$ ls -ld dir1
d-wxrwxr-x 2 pjl pjl 4096 7月 19 18:38 dir1
文件夹如果有读权限,才能使用 ls:
pjl@pjl-pc:~/linux-test$ ls dir1
ls: 无法打开目录'dir1': 权限不够
文件夹写权限,表示我们可以改变这个文件夹下的内容。比如创建文件、删除文件、创建子文件夹。
pjl@pjl-pc:~/linux-test$ touch dir1/b.txt
pjl@pjl-pc:~/linux-test$ ls dir1
ls: 无法打开目录'dir1': 权限不够
文件夹执行权限,表示能不能进入这个文件夹。最直接就是 cd 能不能用:
pjl@pjl-pc:~/linux-test$ cd dir1
pjl@pjl-pc:~/linux-test/dir1$ ls
ls: 无法打开目录'.': 权限不够
// 虽然文件夹没有读权限,但可以查看里面的文件内容
pjl@pjl-pc:~/linux-test/dir1$ cat b.txt
i am b.txt
其他用户权限
rwx------ 的最后三位(---)表示其他用户的权限。也就是属主和属组以外的用户。
