![嵌套文件夹的权限如何工作?](https://linux22.com/image/1316175/%E5%B5%8C%E5%A5%97%E6%96%87%E4%BB%B6%E5%A4%B9%E7%9A%84%E6%9D%83%E9%99%90%E5%A6%82%E4%BD%95%E5%B7%A5%E4%BD%9C%EF%BC%9F.png)
1)我不确定嵌套目录权限如何工作。
假设我有以下目录/文件和权限:
~/Private/ 700
~/Private/Group 770
~/Private/Group/Public 777
Public 真的是公开的吗?
2)如果我想让 Private 真正变为私有的,那么在执行“chmod 700”时是否使用 -R 有关系吗?
3) 我读到过 Ubuntu 默认使用可读的主文件夹,并且拒绝修复它。但是当我执行“ls -lh”时,我得到了这个:drwx------(700,对吧?)。那么它是什么?他们改变了对主文件夹的看法吗?
注意:我在 Ubuntu 12 VM 上
答案1
~/Private/ 700
~/Private/Group 770
~/Private/Group/Public 777
非 所有者的用户~/Private/
将~/Private/Group
无法凭借这些权限进入公共文件夹。
在 Unix/Linux 上,您必须为用户添加执行位,以便他们能够遍历(更改到或穿过)目录。但您不需要授予读取权限。因此,请尝试此方法。但请记住,用户必须知道组和公共目录存在,ls
除非他们也被授予读取权限,否则他们将无法查看它们是否存在。
~/Private/ 711
~/Private/Group 771
~/Private/Group/Public 777
在执行 'chmod 700' 时是否使用 -R 有关系吗
如果您运行该命令,您将更改目标目录下每个文件和目录的权限,如果您有任何具有不同权限的内容,那么它们将会丢失。我怀疑您还会将执行位添加到许多常规文件中,这通常是不可取的。
您可能希望改用这样的命令。这将仅更改目录和子目录的权限,而不会更改文件的权限。
find {directory_path} -type d -print0 | xargs --null -n 1 chmod 0700
仅更改文件的类似命令如下所示。
find {directory_path} -type f -print0 | xargs --null -n 1 chmod 0600