关于文件和目录的权限小解
文件的权限与目录的权限具有不同的意义,如下所示:
文件 目录
R 读文件,cat,more,less等 列出目录下的文件,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 –ld是dir的上一级决定的权限。
一般来说,系统默认都是同时赋予RX权限。
转载于:https://blog.51cto.com/edges/556556