系统中的/tmp/目录是拥有stick_bit权限的 [root@hf-01 ~]# ls -ld /tmp/ drwxrwxrwt. 9 root root 4096 10月 27 05:14 /tmp/
[root@hf-01 ~]# cd /tmp/ [root@hf-01 tmp]# ls aminglinux amning mysql.sock yum.log
在终端2hf(1)下 [hanfeng@hf-01 ~]$ whoami 查看所属主 hanfeng [hanfeng@hf-01 ~]$ cd /tmp/ 切换到/tmp/目录下 [hanfeng@hf-01 tmp]$ ls aminglinux amning mysql.sock yum.log [hanfeng@hf-01 tmp]$ touch yunwei 新建文件yunwei [hanfeng@hf-01 tmp]$ ls -l 会看到文件yunwei的所属主和所属组都是hanfeng 总用量 0 drwxr-xr-x. 4 user1 hanfeng 39 10月 26 08:23 aminglinux drwxr-xr-x. 3 root root 14 10月 25 06:29 amning srwxrwxrwx. 1 mysql mysql 0 10月 27 02:47 mysql.sock -rw-r--r--. 1 user1 root 0 10月 26 07:48 yum.log -rw-rw-r--. 1 hanfeng hanfeng 0 10月 27 08:40 yunwei [hanfeng@hf-01 tmp]$ vi yunwei 并能够编辑文件 [hanfeng@hf-01 tmp]$ chmod 777 yunwei 将yunwei文件权限修改成777 [hanfeng@hf-01 tmp]$ ls -l 会看到yunwei的权限变化为-rwxrwxrwx. 总用量 4 drwxr-xr-x. 4 user1 hanfeng 39 10月 26 08:23 aminglinux drwxr-xr-x. 3 root root 14 10月 25 06:29 amning srwxrwxrwx. 1 mysql mysql 0 10月 27 02:47 mysql.sock -rw-r--r--. 1 user1 root 0 10月 26 07:48 yum.log -rwxrwxrwx. 1 hanfeng hanfeng 26 10月 27 08:41 yunwei 这时在切换到1hf(0)下 [root@hf-01 tmp]# whoami 查看所属主 root [root@hf-01 tmp]# su - user1 切换到user1用户下 [user1@hf-01 ~]$ cd /tmp/ 切换到目录/tmp/下 [user1@hf-01 tmp]$ ls 会发现能够查看到文件 aminglinux amning mysql.sock yum.log yunwei [user1@hf-01 tmp]$ vi yunwei 也能够进行编辑 [user1@hf-01 tmp]$ rm -f yunwei 不能够删除文件yunwei的 rm: 没法删除"yunwei": 不容许的操做
因此说,这个stick_bit权限叫防删除位,只有有权限的用户(好比root)才能够删除,而其余的用户是根本没法删除掉的mysql
- 就是防止别人删除本身的文件(root用户除外)
在终端1hf(0)下 [user1@hf-01 tmp]$ mkdir user1 新建目录user1 [user1@hf-01 tmp]$ chmod 777 user1 并把权限修改成777 [user1@hf-01 tmp]$ ls -l 总用量 4 drwxr-xr-x. 4 user1 hanfeng 39 10月 26 08:23 aminglinux drwxr-xr-x. 3 root root 14 10月 25 06:29 amning srwxrwxrwx. 1 mysql mysql 0 10月 27 02:47 mysql.sock drwxrwxrwx. 2 user1 user1 6 10月 27 08:57 user1 777权限,意味着任何用户均可以去写,可读,可执行 -rw-r--r--. 1 user1 root 0 10月 26 07:48 yum.log -rwxrwxrwx. 1 hanfeng hanfeng 45 10月 27 08:43 yunwei 切换到终端2hf(1)下 [hanfeng@hf-01 tmp]$ cd user1 切换到目录user1下面 [hanfeng@hf-01 user1]$ touch 1.txt 发现能够建立文件 [hanfeng@hf-01 user1]$ mkdir 234 能够建立目录 [hanfeng@hf-01 user1]$ ls -l 总用量 0 -rw-rw-r--. 1 hanfeng hanfeng 0 10月 27 09:03 1.txt drwxrwxr-x. 2 hanfeng hanfeng 6 10月 27 09:03 234 在切换到终端1hf(0)下 [user1@hf-01 tmp]$ cd user1 [user1@hf-01 user1]$ ls 1.txt 234 [user1@hf-01 user1]$ ls -l 总用量 0 -rw-rw-r--. 1 hanfeng hanfeng 0 10月 27 09:03 1.txt drwxrwxr-x. 2 hanfeng hanfeng 6 10月 27 09:03 234 [user1@hf-01 user1]$ rm -f 1.txt [user1@hf-01 user1]$ ls 234 [user1@hf-01 user1]$ rm -r 234 rm:是否删除有写保护的目录 "234"?y [user1@hf-01 user1]$ ls [user1@hf-01 user1]$ pwd /tmp/user1 [user1@hf-01 user1]$ ls -ld . drwxrwxrwx. 2 user1 user1 6 10月 27 09:07
上述例子,这是由于这个目录,删除的这个文件所在的目录有没有写权限,而不是看删除的文件自己的权限,user1目录下有1.txt文件,要想删除1.txt,看的不是1.txt文件的权限,而是看1.txt所在目录的权限,它所在的目录是user1,user1就是777,777是任何用户可编辑的,因此就可删除,而一旦咱们加上了stick_bit权限linux
文件是否能够被某用户删除,主要取决于该文件所在的目录是否对该用户具备写权限。若是没有写权限,则这个目录下的全部文件都不能删除,同时也不能添加新的文件。sql
若是但愿用户可以添加文件,可是不能删除该目录下其余用户的文件,则能够对该目录增长这个权限。ui
设置该权限后,就算用户对目录具备写权限,也不能删除其余用户的文件。code
有时候,set-uid上的权限为大写的S,而不是小写的s。这是由于该文件没有x权限所致,无论是大写的S仍是小写s,都表示它存在set-uid和set-gid权限。同理stick-bit也同样。it
当有特殊权限时,第一位数字能够是0、1(--t)、2(-s-)、3(-st)、4(s--)、5(s-t)、6(ss-)、7(sst),这里的“(---)”,分别指user、group、others的权限位(rwx rwx rwx)。 如:/tmp是--t,因此第一位为1,因此/tmp权限用数字表示为1777。终端
文件的读写执行权限不要和目录的读写执行权限混淆。权限
好比:一个文件设置了可写权限,但目录未设置可写权限,表示不能删除该文件,但文件内容是可编辑的。yum
一个目录设置了可写权限,但目录下文件没有可写权限,表示可删除该文件,但该文件不能编辑。可否删除一个文件或者目录,看得是这个文件或目录所在的父目录的权限,可否删除和文件自己的权限无关。nw