![Ubuntu 上的文件权限(umask)](https://linux22.com/image/553364/Ubuntu%20%E4%B8%8A%E7%9A%84%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%EF%BC%88umask%EF%BC%89.png)
我想将目录中所有文件夹的 chmod 设置为 755,将单个文件的 chmod 设置为 644。有没有办法我可以使用 umask(例如 umask 022)来在将来指定这些权限?
提前致谢。
答案1
find ~ -type d -exec chmod 755 {} \;
find ~ -type f -exec chmod 644 {} \;
echo umask 0022 > ~/.bashrc # [ this should be in your /etc/profile* already ]
答案2
您可以使用访问控制列表解决此问题。man setaclf
除此之外,或者制作一个 cron 脚本偶尔运行并确保此目录中的所有内容都正确进行了 chmod 处理,在 Linux 中没有优雅的方法可以解决这个问题。
- 使用 acl 的警告,在该目录中创建的所有文件都将应用正确的 umask,但任何复制过来的文件都必须进行 chmodded,或者如前所述,您可以使用递归 cron 脚本对整个目录进行 chmod