Я работаю над приложением для управления документами на LAMP/php, которое позволяет добавлять и удалять PDF-файлы на наш сервер. Это прекрасно работает, за исключением одной неприятной проблемы — файлы, которые вы загружаете в понедельник, могут исчезнуть во вторник, и я не могу понять, почему. похоже, что весь каталог удаляется - я подозреваю, что где-то неполная строка передается на отвязку или что-то в этом роде, но я отключил каждую строку кода, которую я могу найти, которая удаляет файлы с сервера, и я все еще попасть в неприятности. Как мне диагностировать причину этих случайных исчезающих файлов? Существуют ли какие-либо утилиты, которые я могу использовать для регистрации любых попыток удаления или изменения файла или каталога?
Выявление причины удаления файлов с сервера
Ответы (1)
в идеале вы хотели бы найти свою ошибку...
find codebase/ -type f -exec grep -il "unlink" '{}' \;
alertativley, если вы хотите хакерское исправление, обновите своего пользователя apache, чтобы у него была umask, которая позволила бы ему создавать файлы, но не удалять их ...
sed -i 's/^\(start|[a-z|-]*)\)/\1\n umask 0222/' `which apachectl`
также это приведет к ошибкам отказа в разрешении в журнале ошибок...
person
mikejonesey
schedule
23.01.2013
find codebase/ -type f | xargs grep -sl "unlink " легче запомнить... всего мои 3,14 цента.
- person specializt; 24.01.2013
@Michael, не могли бы вы объяснить, что делает команда find и как она поможет решить заданную проблему.
- person crafter; 30.08.2015
unlink()для удаления файлов, это приведет к удалению только файлов или пустых папок — он откажется удалять непустые папки. Вы можете проверить, сканирует ли поисковая система ссылки для удаления. - person   schedule 24.01.2013