Сканирование World- и Group-Writable-каталогов

World- и Group-Writable-каталоги создают проблему: если пользователи системы не установили необходимым образом umask, они по неосторожности создают небезопасные файлы, полностью лишенные защиты от вторжения. Учитывая это, было бы неплохо отыскать каталоги с неопределенными разрешениями. Так же, как и сканирование SUID- и SGID-программ, эту задачу можно выполнить с помощью команды fi nd:
# find / -type d \( -perm -g+w -o -perm -o+w \) -еxeс Is -lad {} \;
У любого каталога, который окажется в выходном списке, установлен sticky-разряд, что отмечено символом t в разрядах разрешения каталога. World-Writable-ката-лог, у которого установлен sticky-разряд, гарантирует, что, хотя создавать в нем файлы может любой человек, он не сможет удалить или изменить их. Если в выходном списке указан каталог, у которого sticky-разряд не установлен, решите, должен ли он действительно быть World-Writable либо в этой ситуации лучше использовать группы или ACL. Если каталог действительно должен быть World-Writable, установите его sticky-разряд с помощью команды chmod +t.
Для получения списка каталогов, у которых sticky-разряд не установлен, выполните команду
# find / -type d \( -perm -g+w -о -perm -o+w \) \ -not -perm -a+t -exec Is -lad {} \;
При использовании системы, создающей уникальные группы для каждого пользователя (то есть когда создание пользователя andrew приводит к созданию группы andrew, используемой в качестве первичной группы), можно изменить команды так, чтобы они не сканировали Group-Writable-каталоги. (В противном случае вы получите огромный неудобный список.) Для этого запустите команду без раздела -perm -g+w.

Метки:

Статьи по теме