
权限在任何系统中都至关重要,下面谈一下作为文件系统——linux的权限的说明,以及如何赋予和剥夺。
以最亲民的tmp目录为例
drwxrwxrwt. 8 root root 235 Apr 13 15:40 tmp
常见权限
最常见的几个权限分别为:
d #文件夹
r #读取
w #写入
x #执行(最直观的-脚本就需要赋予此权限)
以上的几个都比较好理解,那么问题来了,小伙伴们不难发现其中还有一个t。
t权限
t权限:要删除一个文档,不一定要有这个文档的写权限,但一定要有这个文档的上级目录的写权限。也就是说,即使没有一个文档的写权限,但有这个文档的上级目录的写权限,也能够把这个文档给删除,而假如没有一个目录的写权限,也就不能在这个目录下创建文档。
怎样才能使一个目录既能够让任何用户写入文档,又不让用户删除这个目录下他人的文档,t权限就是能起到这个作用。t权限一般只用在目录上,用在文档上起不到什么作用。
在一个目录上设了t权限位后,任何的用户都能够在这个目录下创建文档,但只能删除自己创建的文档(root除外),这就对任何用户能写的目录下的用户文档 启到了保护的作用。
s权限
-rwsr-xr-x. 1 root root 33600 Apr 7 2020 /usr/bin/passwd
设置使文件在执行阶段具有文件所有者的权限,相当于临时拥有文件所有者的身份. 比如上面列举的passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.
---s--x--x 1 root root 165632 Jan 27 05:58 /usr/bin/sudo
当s权限搭配执行权限后便能得到特权,任意存取该文件的所有者能使用的全部系统资源。
请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。
操作权限
赋予权限
为某文件/文件夹赋予某权限chmod
例如:
chmod +x XXX.sh #为当前目录下名为XXX的shell脚本赋予执行权限
剥夺权限
例如:
chmod -x XXX.sh #将当前目录下名为XXX的shell脚本剥夺执行权限
数字权限
上段讲解中应该有同学应该发现还有另一种办法操作权限
chmod 777 XXX #为XXX文件赋予最高权限,所有人可读写执行。如下:
-rwxrwxrwx 1 root root 0 Apr 13 16:19 XXX
此时不得不谈到一个词——数字权限
要理解此项,首先数字权限分为三段即7-7-7
聪明的同学已经看出来了——7即代表有读、写和执行的权限。
那么为什么是三个7呢?“三”是指三种不同的对象,User,Gourp,Other。即文件所有人,文件所有组,和其他人。
下面列举各权限所对应的数字:
r---------读取---------4
w---------写入---------2
x---------执行---------1
不难发现7为三数之和,至此答案揭晓777即为rwxrwxrwx。
下面举几个较为常用的数字权限
444 r–r--r–
600 rw-------
644 rw-r–r--
666 rw-rw-rw-
700 rwx------
744 rwxr–r--
755 rwxr-xr-x
777 rwxrwxrwx
感觉不错可以打赏~或者下次一定~
