Вопрос из двух частей:
всемирно доступные для записи файлы - это файлы, в которые каждый может записать. Независимо от того, кто они есть. Это считается проблемой безопасности, когда какой-то случайный человек в другой части мира, имеющий доступ к вашей системе, может злоупотребить. Представьте, что какое-то программное обеспечение, которое использует / tmp (= разработано для записи по всему миру), также прослушивает поступающие данные в / tmp.
Есть еще одна вещь: липкий бит . На сегодняшний день наиболее распространённое использование «липкого бита» - для каталогов. Когда бит закрепления установлен, только владелец элемента, владелец каталога или суперпользователь могут переименовывать или удалять файлы. Без установленного фиксированного бита любой пользователь с разрешениями на запись и выполнение для каталога может переименовывать или удалять содержащиеся в нем файлы независимо от владельца.
При этом будут напечатаны все доступные для записи файлы, для которых не установлен бит закрепления.
find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
Также будут напечатаны все доступные для записи файлы:
find / -perm -2 ! -type l -ls
Я думаю, вам нужен этот скрипт.
#!/bin/bash
uids=`awk -F ":" '{print $3}' /etc/passwd`
for i in $uids; do
if [ $i -gt 500 ]; then
find / -uid $i -perm -002 -type d 2>/dev/null
fi
done
. Он получает uid из файла passwd, затем просматривает их, и если uid больше 500, он запускает поиск каталогов с этим uid. и другие доступные для записи биты.