|
|
目录的权限位解释:rwx
x------表示目录的执行权限,更确切的说是搜索确认的权限,也就是说能确认该目录下的某个文件,若该目录的文件有w和r的权限,则可读该目录下的文件内容,修改目录下文件的内容。但无法删除该目录下的文件,因为删除目录下文件的权限首先要由目录的w权限判定,这一点我们下面会谈到。
[kiron@kiron kiron]$ ls -dl test
d--x--x--x 2 kiron kiron 4096 11月 26 13:06 test
[kiron@kiron kiron]$ ls -l test
ls: test: 权限不够
[kiron@kiron kiron]$ ls -l test/mydate
-rw-rw-r-- 1 kiron kiron 116 11月 26 13:17 test/mydate
[kiron@kiron kiron]$ date >>./test/mydate
[kiron@kiron kiron]$ cat >>./test/mydate
[kiron@kiron kiron]$ cat ./test/mydate
五 11月 26 13:06:44 CST 2004
[kiron@kiron kiron]$
r------表示读权限,有r权限表示你可以在目录内使用ls命令读出目录内有什么文件和子目录,及文件和子目录的权限,尤其要注意的是也无法读目录内文件的内容,即便你对该文件有读的权限。单单有r权限是没有办法发挥作用的,因为r是以x--搜索文件为基础的,有了x才能有r的权限
[kiron@kiron kiron]$ ls -dl test
drw-rw-r-- 2 kiron kiron 4096 11月 26 13:06 test
[kiron@kiron test]# ls -l ./test/mydate
-rw-rw-r-- 1 kiron kiron 116 11月 26 13:17 mydate
[kiron@kiron kiron]$ chmod -w test
[kiron@kiron kiron]$ ls -dl test
dr--r--r-- 2 kiron kiron 4096 11月 26 13:06 test
[kiron@kiron kiron]$ rm ./test/mydate
rm: lstat‘./test/mydate’失败: 权限不够
[kiron@kiron kiron]$ cat ./test/mydate
cat: ./test/mydate: 权限不够
[kiron@kiron kiron]$ ls -l test/mydate
ls: test/mydate: 权限不够
[kiron@kiron kiron]$ ls -l test
ls: test/mydate: 权限不够
总用量 0
在加上x权限后如何?
[kiron@kiron kiron]$ ls -ld test
dr-xr-xr-x 2 kiron kiron 4096 11月 26 13:06 test
[kiron@kiron kiron]$ date >>./test/mydate
[kiron@kiron kiron]$ cat ./test/mydate
五 11月 26 13:06:44 CST 2004
五 11月 26 13:10:39 CST 2004
[kiron@kiron kiron]$ ls -l test/
总用量 4
-rw-rw-r-- 1 kiron kiron 174 11月 26 13:54 mydate
[kiron@kiron kiron]$ rm ./test/mydate
rm: 无法删除‘./test/mydate’: 权限不够
[kiron@kiron kiron]$
上面可以看到,没有w权限,还有些事是不能做的,下面介绍w权限。
w------表示目录的写权限,有w权限表示你可以删除或创建目录内的文件和子目录,尤其注意的是不管目录内的文件的权限如何,都可以删除,特别的,若没有写权限,系统会让用户确认后删除。其实单独的w权限是没有任何权限的,看下例:
[kiron@kiron kiron]$ ls -dl test
d-w--w---- 2 kiron kiron 4096 11月 26 13:06 test
[kiron@kiron kiron]$ ls -l test/
ls: test/: 权限不够
[kiron@kiron kiron]$ rm ./test/mydate
rm: lstat‘./test/mydate’失败: 权限不够
[kiron@kiron kiron]$ cat ./test/mydate
cat: ./test/mydate: 权限不够
[kiron@kiron kiron]$
所以你起码要加上x权限,这样你可以删除目录内文件和子目录了
[kiron@kiron kiron]$ ls -ld test/
d-wx-wx--x 2 kiron kiron 4096 11月 26 14:01 test/
[kiron@kiron kiron]$ rm ./test/mydate
[kiron@kiron kiron]$ date >> ./test/mydate
[kiron@kiron kiron]$ cat ./test/mydate
五 11月 26 14:02:32 CST 2004
[kiron@kiron kiron]$ ls -l test
ls: test: 权限不够
[kiron@kiron kiron]$
若再加上r权限,自然什么事都能做了,这个不用怀疑了^_^
[kiron@kiron kiron]$ chmod +x+r+w test
[kiron@kiron kiron]$ ls -l test
总用量 4
-rw-r--r-- 1 root root 29 11月 26 14:18 firstdate
[kiron@kiron kiron]$
我们要接下来看的是rw组合的权限如何:
[kiron@kiron kiron]$ ls -dl test
drw-rw-r-- 2 kiron kiron 4096 11月 26 14:18 test
[kiron@kiron kiron]$ ls -l test
ls: test/firstdate: 权限不够
总用量 0
[kiron@kiron kiron]$ cat ./test/firstdate
cat: ./test/firstdate: 权限不够
[kiron@kiron kiron]$ date >> ./test/mydate
bash: ./test/firstdate: 权限不够
[kiron@kiron kiron]$ rm ./test/firstdate
rm: lstat‘./test/firstdate’失败: 权限不够
[kiron@kiron kiron]$
注意上面的ls命令的输出:
[kiron@kiron kiron]$ ls -l test
ls: test/firstdate: 权限不够
总用量 0
和前面的ls命令的输出:
[kiron@kiron kiron]$ ls -l test/
ls: test/: 权限不够
这两者之间多了一个对目录test下的文件firstdate的权限判断,由此可以得出的结论是r对目录有读权限是要有x权限的支持,可以这么理解:r拥有对目录下每个文件和子目录读的权限,但是是由x实际去读出文件或子目录的具体内容的。另外,w权限的删除权限也因为没有了x的支持而失效了,
好了,目录的权限位的实验结束,由此可以看出目录权限位的作用了。
补充一下:rm命令的总结--根用户用rm删除文件之前都会被加以确认,若是普通用户用rm删除文件不会加以确认,但若文件没有写权限,则会被加以确认。
本文出自:http://linuxworld.hostrocket.com & www.linuxsir.cn。 |
|