Find - поиск файлов по правам доступа
Удаление флагов не изменяемый и не удаляемый
chflags -R noschg <dir>
Что такое права доступа и биты SUID, SGID
Утилита find как универсальный файловый инструмент
Для того что бы с по мощью команды find организовать поиск файлов по определенным правам доступа, то есть с установлеными битами SUID и SGID, владельцем которых является root, можно командой find с ключами :
# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -lg {} \;
Для того, что бы снять бит "S" с файла, достаточно выполнить команду
# chmod a-s /usr/bin/gpasswd -снимет бит "S" с файла /usr/bin/gpasswd
Для поиска файлов доступных на запись используйте команду find с ключами:
# find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \;
Для поиска каталогов доступных используйте команду find с ключами:
# find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \;
Снятие и со всех файлов в каталоге dir_data бита исполняемости и установка , бита "w" для пользователя записи, используйте команду find с ключами::
$ find /dir_data -type f -exec chmod a-x,u+w {} \;
Снятие и со всех папок в каталоге dir_data бита записи и установка для пользователя записи, используйте команду find с ключами::
$ find /dir_data -type f -exec chmod a-w,u+w {} \;
Устанавливает на все папки в каталоге dir_data бита испольняемости (возможность открывать) и бита чтения для всех и добавляет бит записи для пользователя, используйте команду find с ключами:
$ find /dir_data -type d -exec chmod a+xr,u+w {} \;