我这里有个比较特殊的需求
是要有个 文件夹 能创建,删除,移动 子文件夹
但 本身文件夹 是不能 删除的
比如
/tmp/a/b #不能 删除
/tmp/a/b/c # 能 创建,删除,移动
这谢谢 perl msn群中的 W.W 帮我解决
具体来说, 目录也是一个文件,但是这个文件的内容,是它的子目录的结构 。对于/tmp/a来说,它是一个文件,但是如果用户对/tmp/a没有写权限,它就改动不了/tmp/a的目录结构
在/tmp/a里新建目录,删除原有的目录/tmp/a/b,等等,实际改动的是/tmp/a的目录结构,也就是说,实际改动的是/tmp/a的内容
root:
#mkdir /tmp/a; mkdir /tmp/a/b;
# chmod a+w /tmp/a/b; chmod o-w /tmp/a
user-a:
$rmdir /tmp/a/b #This will fail, user-a don't have enough permission.
$cd /tmp/a/b; mkdir c; touch d;
$rmdir /tmp/a/b/c; rm /tmp/a/b/d; #This is OK.
ls -l 中
/tmp/a drwxr-xr-x
/tmp/a/b drwxrwxrwx
是要有个 文件夹 能创建,删除,移动 子文件夹
但 本身文件夹 是不能 删除的
比如
/tmp/a/b #不能 删除
/tmp/a/b/c # 能 创建,删除,移动
这谢谢 perl msn群中的 W.W 帮我解决
具体来说, 目录也是一个文件,但是这个文件的内容,是它的子目录的结构 。对于/tmp/a来说,它是一个文件,但是如果用户对/tmp/a没有写权限,它就改动不了/tmp/a的目录结构
在/tmp/a里新建目录,删除原有的目录/tmp/a/b,等等,实际改动的是/tmp/a的目录结构,也就是说,实际改动的是/tmp/a的内容
root:
#mkdir /tmp/a; mkdir /tmp/a/b;
# chmod a+w /tmp/a/b; chmod o-w /tmp/a
user-a:
$rmdir /tmp/a/b #This will fail, user-a don't have enough permission.
$cd /tmp/a/b; mkdir c; touch d;
$rmdir /tmp/a/b/c; rm /tmp/a/b/d; #This is OK.
ls -l 中
/tmp/a drwxr-xr-x
/tmp/a/b drwxrwxrwx
b 文件夹,也就是我上面 需要的文件夹 ,是 777 了但 user-a 是不能删除的
本文转自博客园刘凯毅的博客,原文链接:linux 文件夹权限,如需转载请自行联系原博主。