我有一个umask 0002,使用umask -S
命令返回u=rwx,g=rwx,o=rx。
如何查找所有未按照掩码设置权限的文件和目录?
目录为777 - 掩码
,文件为666 - 掩码
。如果我执行以下操作:
find . ! -perm $(umask -S)
它会找到所有没有设置权限为u=rwx,g=rwx,o=rx(777-002是这些权限,但666-002是不同的权限)的文件/目录,这对于目录来说很好,但对于文件来说不好。
我如何查找文件,其权限与当前设置的umask不同?
示例:
touch one
ls -l
-rw-rw-r-- 1 trolkura trolkura 0 kvě 4 09:01 one
umask是0002,所以结果是664,但是当我执行以下操作时
find . -type f ! -perm $(umask -S)
./one
结果是新创建的文件,因为它正在寻找没有775权限(目录权限)的文件。