Мне нужно найти все файлы в каталоге, где совпадают группы и другие разрешения (например, те, в которых членство группы в файле фактически не влияет на доступ).
Поскольку существует только 8 возможностей для этого (x00, x11, x22 и т. Д.), Я подумал, что могу просто выполнить поиск по этим разрешениям, но не могу найти способ явно сопоставить некоторые биты разрешения, не сопоставив их все (например, . сопоставить все 000, 100, 200, 300 и т. д. для x00).
Я построил длинное выражение для поиска:
find . \( \
-perm 000 -o -perm 011 -o -perm 022 -o -perm 033 [...] \
-perm 100 -o -perm 111 -o -perm 122 -o -perm 133 [...] \
[...]
\) -ls
И это работает, но кажется очень не элегантным (это более 8 символов ... и это до того, как я поместил какие-либо предложения по выбору пути, которые понадобятся ...).
Есть ли способ лучше?
Изменить: мне только что пришло в голову, что это игнорирует разрешения SUID / SGID. Добавление их сделает команду еще длиннее ... надеюсь, есть лучший способ!