Исчезли файлы! Права доступа 777. Безопасность
6 мая 2007 в 14:28
Такая беда...
Вчера всё нормально раболтало.. сегодня захожу на сайт - и вижу в ужасе, что пбольшая часть картинок отсутствует...
Я захожу на хостинг и иду в папку Files и там их нет!! 8(
Что бы это могло быть? причём что-то осталось но большенство фоток пропало.. и старых и новых.. а аостались избранно... странно...
В поддержку хостинга я конечно не написал.. иБакап сайта не далал
Может кто сталкивалсяч с подобным или догадывается что это могло быть...
Первое что мне пришло в голову это то что последним моим действием вчера было включение модуля Drupal...
н оя на это не грешу, так к слоу...
ПАМАГИТЕ!!!
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Смотрим логи сервера. И иБакап иБакап иБакап
Нет логов... Бэкап вроде хостер делал, просил дать...
Скажите, а могло такое быть -
если я не менял никакие права доступа к дерикториям - мог какой-то %;%№№ удалить мои файлы на хостинге??
И как их (права) надо ставить?
Везде все пишут про 777, но у меня на хостинге линукс система и там -r--w-x- - такого рода белиберда...
что в ней значит "х" - т.е. "исполнение" чем это отличается от "чтение" и "запись"... ??
Жду вашей помощи! Спасибо!
Вообще-то RTFM...
Ну, так и быть: у каждого файла есть права на чтение(r), запись(w) и выполнение (x)
У каталога должно быть право на выполнение иначе ты в него не зайдешь.
Причем, все права разбиты на 3 группы: первая группа это владелец (скорее всего им должен быть apache или пользователь от чьего имени работает вебсервер), вторая группа это группа пользователей, которым можно что-то делать с файлом и третья группа - остальные, поэтому каждый файл при листинге каталога имеет набор разрешений вида rwx rwx rwx - первые 3 символа для владельца, вторые три для группы и третьи три для остальных. Если чего-то нет, ставится "-". Каждые три свойства это биты (двоичные), которые преобразуются в двоичное число так: бит r умножается на 4, бит w на 2 и бит x на 1 результат получается сложением.
Пример rwx = 4+2+1 = 7, r-x = 4+1
Если ты выставил 777 на все, то каждый ... (последняя группа ) может делать с твоими файлами все, что угодно!
Так на должно быть НИГДЕ!
Достаточно, чтобы пользователь apache имел нужные права и все.
Ой! Спасибо огромное за объяснение!!
Т.е. должно быть так? rwx r-- r-- ?
и для всех папок друпала так надо выставить?
И никак не пойме, простите, что значит Х - что значит "выполнение"
чем страшно выполнение например для папки "files"?
Не совсем. Прав rw-r--r-- для файлов достаточно, можно для собственного удобства rw-rw-r, если скажем владелец файла apache, а группа файла webmaster, в которую входишь ты. Выполнение для файлов НЕ НУЖНО за ИСКЛЮЧЕНИЕм файлов в папке scripts (но их ОБЯЗАТЕЛЬНО сначала руками поправить!)
Для каталога свойство выполнения, как я уже писал, понимается как возможность зайти в каталог. Это не значит, что ты не посмотришь конкретный файл. Если ты все файлы помнишь на память (и каталог и файл имеют разрешение на чтение), то фал будет читаться, а вот листинг не получишь.
итак в цифрах 644 или 664 для файлов и 755 или 775 для каталогов, причем парами, в порядке написанного! Если например группа не имеет права писать в каталог, то и файл ей не изменить!
Ещё раз спасибо за ответ!
но кое что до мнея не дошло..
"Для каталога свойство выполнения, как я уже писал, понимается как возможность зайти в каталог. Это не значит, что ты не посмотришь конкретный файл. Если ты все файлы помнишь на память (и каталог и файл имеют разрешение на чтение), то фал будет читаться, а вот листинг не получишь."
Не совсем понял... что будет если я сниму прва для групп и для обычных людей "выполнения" то йже папки картинок?
т.е. сделаю например rwx r-- r-- ?
И что подразумевается под группой? У меня сайт не подразумевает никого из пользователей кроме меня. Но вы говорите что я сам могу быть в этой группе и не подозревая об этом? Мне можно снимать права для "группы" как и для обычных пользователей?
П.С. как вы понимаете я хочу сделать так , чтобы никт окроме меня не смог мне фалы удалять с хостинга как это ночью произошло прошлой ((((
т.е. сделаю например rwx r-- r-- ? можешь попробовать, геморой для тебя самого обещаю
Дело в том, что ты сам не сможешь полазить по своим каталогам... Если у каталога есть подкаталог, то в него можно попасть только, если у вышележащего каталога есть разрешение на выполнение...
На стирание файлов в каталоге это не влияет. Стандартно на каталоги права доступа:
drwxr-xr-x (первое d признак каталога) вполне безопасно (и удобно!)
Читай: http://www.linuxcenter.ru/lib/books/kostromin/gl_04_05.phtml
И вообще, вылез на взрослый хостинг, учи Linux или FreeBSD на которых этот хостинг расположен!
Огромнейшее человеческое спасибо!
Теперь всё ясно..
П.С. Эт не я вылез, меня велезли...
Help!
С правами всё понятно.
Но непонятно как можно настроить так всё, чтобы я мог с сайта добавлять будучи администратором картинки в статьи и фотогалерею, они записывались сами на сервер и чтобы их никто с сервера не мог удалить?
Ставлю права 777 - всё работает. Но ведь могут удалить файлы?
Ставлю права 775 уже картинки на сайт не загружаются... И для добавления 1-й маленькой картинки в статью приходиться коннектится к хостингу и менять на 1 минуту права папки.
Неужели так все работают? НАверное нет. Тогда просветите меня тёмног опожалуйста. Уже 2-й сайт на Друпале настроил, со всем провде понятно, а с этим нет...
если на сервере апач не в chroot - то и с правами 644 все равно их могут удалить соседи, единственный вариант ставить 444 на файлы и 555 на директории, но лучше конечно бекап вовремя делать.
kiev1, прочитайте пожалуйста мой предыдущий пост. С правами всё ясно, их можно поставить так, что вряд-ли кто-то что-то удалит не взломав доступ к самому серевру хоста или пароль доступа по ftp
Дело в другом
Как Все здесь создавшие сайты на drupal работают с прикреплением картинок к статьям например, не открывая права 777. Или открывают их всё, но удалить файлы никто не может? Как я понял если на папку права 777 то кто угодно может послать http запрос на удаление в ней файлов. Так?
да, кто угодно кто имеет на вашем сервере аккаунт может удалять ваши файлы у которых права 777 при условии что апач у всех запускается от имени одного общего пользователя (так раньше делали, теперь админы поумнели), посмотреть от чьего имени запущен апач можно функцией phpinfo(); строчка "User/Group"
Мой сервер неизвестно где, вернее известно, но кто там ещё на нём хостится одному Богу и Админу там извнестно.
Меня интересует, кто угодно из сети интернет, ну вот Вы например, или какой-то шутник, сможете удалять файлы с любого сайта на drupal где есть папочка files с правами 777?
я не могу ничего делать с вашими файлами так как у меня нет возможности залить на ваш сервер php или другой скрипт или использовать ftp аккаунт, а друпал не имеет таких дыр, хотя не факт что их не имеют соседние с вами аккаунты на вашем сервере - тогда сломав соседний аккаунт возможно удалить и ваши файлы - но это в случае если уж очень неправильно настроен сервер - то есть если на массовом хостинге апач запускается от имени одного пользователя - посмотреть можно создав php файл с одной функцией phpinfo(); - смотреть на строчку "User/Group"
на папки совсем не надо ставить права 777, хватит 733
rwx-wx-wx (так выглядят права 733)
в этом случае файлы будут спокойно загружаться на сервер, и никто их уже не сотрет, надо будет знать имя файла, чтобы ЭТО сделать.
Узнаем соседей:
Ну или IP узнаем через tracert и дальше в бинг.