我有一个包含数百万个文件和子目录的目录,我需要更改整个目录及其文件的权限,这需要花费很多小时才能完成。我想知道是否有比常规 chmod -R 命令更快的方法来完成此操作?
答案1
您的 chmod -R 非常理想。每个文件必须有一个 chmod() 系统调用,并且文件系统必须在块设备上更新其元数据。
如果已启用,请禁用此 FS 上的障碍(XFS、Ext4 等上的挂载选项),但请记住稍后启用它们。
我希望这只是一次性操作,而不是重复出现的问题?如果文件权限的轻松管理比性能和简单性更重要,您可以尝试编写一些覆盖 FUSE 文件系统,动态调整权限和 uid/gid。
答案2
您需要编写一个脚本并从根目录执行。我认为一个基本的脚本应该是这样的;
chmod 777 ./stuff/stuff
chmod 777 ./stuff/stuff
chmod 666 ./stuff/stuff
chmod 666 ./stuff/stuff
等等等等……也许有更好的脚本或更好的方法。我不太擅长编写脚本。