chown 没有给我任何权利

chown 没有给我任何权利

我有一个文件夹,my-folder.从其父目录中,我首先执行以下操作:

sudo chown -cR matthewslouismarie: my-folder

如果我这样做:chmod -cR 600 my-folder,我得到:

chmod: cannot access 'my-folder/build.sh': Permission denied
chmod: cannot access 'my-folder/vmdk': Permission denied
chmod: cannot access 'my-folder/.git': Permission denied
chmod: cannot access 'my-folder/run.sh': Permission denied
chmod: cannot access 'my-folder/docker': Permission denied
chmod: cannot access 'my-folder/.gitignore': Permission denied

我不应该完全拥有这个文件夹及其内容吗?

笔记:

运行sudo chmod -cR 600 my-folder不会打印任何内容。matthewslouismarie是我输入时得到的whoami

答案1

目录的权限x控制用户是否可以遍历该目录。通过使用 mode 600,您已删除该x位,因此无法遍历目录。

尝试这个:

find my-folder -type d -exec chmod 700 {} \;

这会将各个目录的权限更改回700( rwx------)。如果您希望文件为600,类似地,您可以这样做:

find my-folder -type f -exec chmod 600 {} \;

答案2

正如 @andyDalton 所说,您需要x(执行)权限才能查看目录。

因此,您可以设置将在常规文件上700设置的权限。x

如果你有 gnu chmod,那么你可以使用符号模式:

chmod -cR u+rwX my-folder

这只会添加用户x权限,并且仅当它作为目录或已存在于组或其他中时才会添加。

还要考虑是否需要使用chmod.它可能已经是你想要的样子了。chown不重置它。

相关内容