Linux学习-目录权限
来源:互联网 发布:活动目录 知乎 编辑:程序博客网 时间:2024/06/07 03:07
目录权限
目录的主要内容是记录文件名列表,针对目录:
r 表示具有读取目录结构列表的权限,具有读取一个目录的全显示,表示可以使用ls命令查询该目录下的文件名数据。
w 表示具有更改该目录结构列表的权限:包括新建文件与目录,删除已存在的文件与目录(不论该文件权限为何),将与存在的文件或目录重命名,转移该目录内文件或目录位置。
x 表示用户能否进入该目录进入工作目录,以及能否访问该目录下的文件和子目录。如果在某目录下不具有x权限,就无法切换到该目录下,也无法执行该目录下的任何命令,即使具备w权限。
我们看一下x权限如何影响用户对目录的操作:
现在当前用户对test目录不具备x权限,但具备r和w权限
drw-rw-r-- 2 shawn shawn 4096 Mar 30 05:35 test/使用ls命令查看目录下的目录列表:
shawn@ubuntu:~$ ls -al test/ls: cannot access test/deadloop: Permission deniedls: cannot access test/deadloop.c: Permission deniedls: cannot access test/..: Permission deniedls: cannot access test/.: Permission deniedtotal 0d????????? ? ? ? ? ? .d????????? ? ? ? ? ? ..-????????? ? ? ? ? ? deadloop-????????? ? ? ? ? ? deadloop.c此时能够看到该目录下的所有文件列表,但所有文件的详细信息都是问号。这是因为当前用户具备r权限,查看目录下的文件列表,但是不具备x权限,无法获取该目录下所有文件的属性和内容。
然后尝试删除该目录下的文件:
shawn@ubuntu:~$ rm test/deadlooprm: cannot remove ‘test/deadloop’: Permission denied可以看到,虽然具有w权限,但由于不具备x权限,无法访问该目录下的任何内容
另外,Linux的文件还有一种称为stick bit的权限。stick bit是为了阻止一般用户删除被其他用户所拥有的文件。常见的用法是为目录设置stick bit,这样对于该目录下的文件,只有目录的所有者、文件的所有者或root用户才有权限删除或移动该目录。如果对目录不设置stick bit,一个用户只要他对该目录具有w和x权限,他就能删除该目录下的文件,即使这些文件的所有者不是他。
Linux中最常见的做法是为/tmp目录添加stick bit,添加stick bit的方法可以是:
chmod +t /tmp也可以用八进制数设置权限,权限最前面增加一个1即可:
chmod 1777 /tmp
drwxrwxrwt 5 root root 4096 May 13 21:55 tmp/此时,可以看到tmp目录的权限最后一位是t,表明已经添加stick bit。
目前/tmp目录下存在一个test_file文件,用户所有者是root。由于设置了stick bit,尽管当前用户对/tmp目录具备w和x权限,但仍无法删除test_file文件:
shawn@ubuntu:~$ ll /tmp/test_file -rw-r--r-- 1 root root 0 May 13 21:55 /tmp/test_fileshawn@ubuntu:~$ rm /tmp/test_file rm: remove write-protected regular empty file ‘/tmp/test_file’? yrm: cannot remove ‘/tmp/test_file’: Operation not permitted如果给tmp目录去掉stick bit:
chmod -t /tmp 或 chmod 0777 /tmp则当前用户就可以删除/tmp/test_file文件。
综上所述,stick bit可以有效地保护目录下的文件不会被其他一般用户误删。
0 0
- Linux学习-目录权限
- linux学习 文件权限与目录配置
- 【Linux入门学习之】Linux文件权限与目录配置
- Linux 学习小结(Linux文件权限与目录配置)
- 【Linux学习】Linux文件系统6—文件目录权限设置
- linux学习笔记03-linux文件权限与目录配置
- Linux 基础学习 Linux的文件权限与目录分配
- Linux 目录权限--笔记
- Linux--目录权限笔记
- Linux 文件/目录 权限
- Linux目录权限设置
- Linux 修改目录权限
- Linux目录权限
- Linux 目录权限小结
- Linux 目录权限小结
- linux文件目录权限
- Linux目录/文件权限
- Linux目录、权限
- C#类与C++类之比较
- 中断编程 -- linux内核
- return浅析
- 代码单步展开
- The Swift Programming Language--语言指南--基本运算符
- Linux学习-目录权限
- Objective-self关键字
- 【本人使用】window7常用快捷键
- _MSC_VER详细介绍(转)
- 进程与线程的区别联系
- ASIHTTPRequest占用主线程问题解决
- Unity编辑器获取文件夹下所有对象
- 准确率(Precision)、召回率(Recall)以及综合评价指标(F1-Measure )
- 动态规划之钢条切割