在用户主目录包含一个或多个 NFS 挂载点的情况下,如何跳过这些挂载并有效地更改目录权限?
我想chmod o-rwx
在用户主目录下的所有未安装目录上运行。
我将以 root 用户身份运行该命令,因为我正在为系统上的所有用户执行此操作。(NFS 挂载具有root_squash
挂载选项。)
这是我尝试过的。但是,它没有按预期工作。
sudo find /home/myuser/ -mount -path ./Documents -prune -o -type d -exec chmod o-rwx {} \;
chmod: changing permissions of '/home/myuser/Documents': Operation not permitted
我想避免错误消息。更重要的是,find 命令需要很长时间才能运行。我相信这表明它正在下降到挂载点(其中包含许多目录和文件)。
我的命令的另一个问题是我必须明确编码要跳过的位置。所有用户都安装了 Documents,但有些用户安装了其他名称不同的 NFS。
我的目标是自动修复用户帐户(即chmod o-rwx
)中的简单目录权限问题。我该如何在我的情况下做到这一点?
这是我想出的解决方案:
否定
fstype
选项解决了我的一两个问题。解决了-maxdepth 1
另一个(速度)。可以将这两个
-fstype
选项结合起来。如果有人知道,请编辑此答案。