关于文件和目录的权限小解
 
 
文件的权限与目录的权限具有不同的意义,如下所示:
 
          文件                                  目录
 
R     读文件,catmoreless              列出目录下的文件,ls
 
W     修改文件,vi                       可在目录下创建与删除文件
 
X     文件可执行,sh                      可以进入目录,cd
 
1
[iLabrador@freebsd ~]$ ls -ld dir
drwxr-xr-x 2 iLabrador 1001 4096 May 8 22:52 dir
[iLabrador@freebsd ~]$ ls -l ./dir/file
---------- 1 iLabrador 1001 0 May 8 22:52 ./dir/file
上面的file文件什么权限都没有,那么请问可以删除吗?
答案是可以的!
 
[iLabrador@freebsd ~]$ rm ./dir/file
override --------- iLabrador/1001 for ./dir/file?
如果我们不给dir目录W权限,那么就无法删除了。
也就是说,文件的是否可删除取决于其上级目录的写权限而非其自身的权限。当然,如果通过chattr
文件设置了权限那就另当别论了。
 

2

[iLabrador@freebsd ~]$ chmod 400 dir
[iLabrador@freebsd ~]$ ls -ld dir
dr-------- 2 iLabrador 1001 4096 May 8 22:52 dir
只给dir这个目录读权限,那么有什么效果?能不能进入目录?
 
[iLabrador@freebsd ~]$ ls dir
file
可列举目录内的文件
 
[iLabrador@freebsd ~]$ cd dir
-bash: cd: dir: Permission denied
但是不能进入目录
 
如果给x权限不给r权限的话,那么就可以进入目录,但是不能ls –l目录内的文件,不过你可以ls –l
目录,因为ls –lddir的上一级决定的权限。
一般来说,系统默认都是同时赋予RX权限。