dir1 和 dir2 chmod 700, dir3 chmod 777 但我得到 Permission denied

dir1 and dir2 chmod 700, dir3 chmod 777 but I am getting Permission denied

我正在学习 Linux 和权限。

我有以下文件夹 dir1/dir2/dir3dir3 中的文件 myfile.txt。 我正在尝试向 dir1dir2 授予对文件夹和文件的权限 chmod 700,但对 dir3 中的所有文件和文件夹我想授予权限 chmod 777 .

根据 this post 我做了以下操作:

dir1dir1 中的所有目录的权限更改为 chmod 700

find /home/user/dir1 -type d -exec chmod 700 {} \;

dir1 中的所有文件更改为 chmod 700 包括子文件夹

find /home/user/dir1 -type f -exec chmod 700 {} \;

之后我做了以下操作:

dir3dir3 中所有目录的权限更改为 chmod 777

find /home/user/dir1/dir2/dir3 -type d -exec chmod 777 {} \;

dir3 中所有文件的权限更改为 chmod 700

find /home/user/dir1/dir2/dir3 -type f -exec chmod 777 {} \;

当我使用 ls -al 检查权限时,一切看起来都很好,但是当我更改用户并尝试访问 dir3myfile.txt 时,我总是收到消息 "Permission denied" .

哪里做错了? 有没有更好的方法来做到这一点?

700 表示只有 dir1 和 dir2 的所有者对 dir1 和 dir2 具有 rwx 访问权限。如果某些其他用户将尝试访问 dir1 或 dir2 内部,无论内部 777 dir3.So,他都不会被允许,请检查您的用户是否是所有者。 一种解决方案是将 770 分配给 dir1 和 dir2 这将允许组(您必须指定)具有 rwx permission.Then 您可以将您的用户添加到组中,以便只有该用户具有 rwx 访问权限,而其他用户则没有。