Это может произойти и при раздаче файла в торрент-клиенте. Просто убедитесь, что вы выключили торрент-клиент или удалили торрент-файл.
В Linux можно использовать неизменяемый бит.
Файл с неизменяемым атрибутом не может быть:
Используйте chattr (, чтобы проверить, поддерживает ли ваша ОС команду )для установки атрибута.
chattr +i file
chattr +i /path/to/filename
Вывод списка свойств файла относительно бита атрибута
lsattr /etc/shadow
Чтобы удалить неизменяемый бит:
chattr -i file
chattr -i /path/to/filename
Предотвращение создания символических ссылок Apache, вероятно, не сломает его.
В текущем Linux есть два системных вызова, которые могут создавать новые символические ссылки:symlink
и symlinkat
.
man systemd.exec
говорит нам, что systemd может установить фильтр seccomp, чтобы запретить определенные системные вызовы:SystemCallFilter=~symlink symlinkat
. И, согласно man systemd.unit
, существующие служебные файлы systemd могут быть изменены с помощью файлов «вставить -», например. /etc/systemd/system/httpd.service.d/nosymlink.conf
.
РЕДАКТИРОВАТЬ :Конечно, если вы запускали PHP как FastCGI в отдельном сервисе systemd, то это сервис, который вам нужно изменить вместо httpd
.
Существует большое предостережение, связанное с этим подходом к «черному списку» :
.Обновление ОС до нового ядра может добавить поддержку новых системных вызовов. К сожалению, даже более новый symlinkat()
не добавил аргумент флагов. Поэтому в будущем может потребоваться добавить новый системный вызов, если поведение symlinkat
нужно каким-либо образом изменить. Как ни странно, наиболее вероятной причиной этого является добавление AT _BENEATH поддержки symlinkat
. Это может повторно -открыть "уязвимость", т.е. если более новые версии GNU libc направляют все создание символических ссылок через новый системный вызов symlinkat2()
.