Права "700"на файлы и папки

Sultan
На сайте с 20.10.2020
Offline
27
421
Всем привет! Чем то опасно право 700 на весь файл сайта?  Дело в том что, после восстановления сайта из бэкап, beget поставил право 700 на все файлы сайта.
Евгений Крупченко
На сайте с 27.09.2003
Offline
182
#1
Так на файлы+папки или только файлы? или только папки?
Что именно пугает, 7 или 0?
Sultan
На сайте с 20.10.2020
Offline
27
#2
Евгений Крупченко #:
Так на файлы+папки или только файлы?

На файл и на папка.

Евгений Крупченко #:
Что именно пугает, 7 или 0?

меня пугает что поисковик как будто не может сканировать сайта.

W1
На сайте с 22.01.2021
Offline
115
#3
Sultan :
Чем то опасно право 700 на весь файл сайта?

Тем, что с сайтом смогут работать только юзеры с правами рута и владельца файлов и каталогов. А различные службы могут работать под разными юзерами. Ну и Perl работать не будет, например.

Sultan #:
меня пугает что поисковик как будто не может сканировать сайта.

Если браузер сможет, то и поисковик сможет.

Мой форум - https://webinfo.guru –Там я всегда на связи
Евгений Крупченко
На сайте с 27.09.2003
Offline
182
#4
Sultan #:

меня пугает что поисковик как будто не может сканировать сайта.

Highly likely? Или есть доказательства? Ошибки в "поисковике" есть, в логах, в браузере что-то не открывается?

Если нет, то и проблема высосана из ничего, можно тему закрывать.

Евгений Крупченко
На сайте с 27.09.2003
Offline
182
#5

Минутка занудства для тех кому не все равно.

Что ж это за 3 циферки такие?

1 - права для пользователя (который обращается к данному файлу или папке)

2 - права для группы (в которую может входить/не входить этот пользователь или другие)

3 - права для любого пользователя.

Цифра - это комбинация трех галочек:

Чтение, запись и выполнение (запуск исполняемого файла или perl скрипта к примеру, либо поиск внутри каталога).

Кроме этого, у всех файлов и каталогов есть еще и владелец с группой (owner/group).

Пара примеров:

070 и пользователь не входит в группу - доступа нет.

700 и пользователь входит в группу - доступ есть.

004 и root:admins (владелец:группа) и пользователь user не входит в группу admins - доступ есть, но только для чтения.

000 - ни у кого доступа нет кроме root (у него есть при любом владельце и правах).

И в таком духе... нужен просто опыт чтоб быстро ориентироваться в этом всем.


Возвращаемся к нашим баранам. Web-сервер. Все что надо осознавать - это какие службы (apache, ftp и т.д.) могут обращаться к файлам/каталогам и из под каких пользователей они это делают.

Конкретных вариантов может быть множество.

К примеру, самое простое - у вас vps/сервер с одним сайтом. Вы конечно вправе иметь лишь одного root и все запускать от него. Все будет работать, но надо понимать что в случае допустим взлома лишь сайта, будет получен доступ ко всему серверу. Поэтому принято из под root'а запускать что-то только когда действительно иначе никак. И соответственно все службы запущены от других, ограниченных пользователей. Обычно это какой-нибудь www-data пользователь, от которого запускается apache. Чтоб в случае если кто-то получит доступ на запуск, то только от этого пользователя, т.е. доступ ограничен лишь этим пользователем.

Также может быть что web-сервер работает от www-data, а фтп сервер от какого-нть ftp юзера. Таким образом загружая по фтп файлы, они создаются с владельцем ftp и www-data доступа не будет иметь. Надо либо кого-то в какую-то группу добавлять, либо тупо открывать доступ "для всех" (последняя цифра). Именно отсюда растут ноги у советов ставить бездумно на все 777, 755 и т.п., т.е. чтоб наверняка заработало... и плевать на то как там все настроено и на безопасность 😐

Когда речь про shared хостинг, то к безопасности и правам на файлы/каталоги нужно относиться более внимательно и настороженно. Т.к. там существует множество пользователей, которые кто их знает что могут запускать, как их сайты могут взламывать и куда пытаться получить доступ.

Если на shared'е вы загружаете по фтп файл, ставите у него последнюю цифру 0 и у web-сервера пропадает доступ к нему - это очень плохой признак. Скорей всего там все настроено по принципу:


По-хорошему и ftp и web-сервер должы работать от имени вашего пользователя и без проблем иметь доступ если последняя цифра 0 в правах на файлы/каталоги.

Запускать же что-либо на таком хостинге в принципе не должно быть нужно обычно и цифру 7 на файлы ставить не нужно, 4-5-6 должно быть достаточно. Только если это perl/cgi скрипт, тогда да... но я даже не вспомню когда они и где последний раз вообще использовались. Но просто для понимания, что на файлы не надо ставить 7'ку (если только это не .pl или .cgi файл), иначе потенциально вам в cms например могут загрузить какой-то исполняемый файл под видом .jpg и браузером запустить его.

На папки да, 5 или 7 можно и нужно ставить, иначе не будет доступа на поиск внутри этой папки, т.е. не получится в нее войти этому пользователю.


У меня допустим давно и везде ставится всегда по-умолчанию user:user и 770 на папки, 660 на файлы. И очень раздражаюсь когда народ своими кривыми скриптёнками или копипастом дурных советов из интернетов тулят куда-попало 755 или 777. 👎

Есть пользователь и только он должен иметь доступ к своим папкам/файлам, и никаких "для всех". Ftp, web, mysql - все это работает от его имени и нормально имеет доступ куда ему нужно, не надо ничего трогать.


Как конкретно настроено что-то на конкретном хостинге - известно лишь его админам. Но если на бегете том же с правами 700 все работает нормально, то скорей всего не надо ничего трогать, пусть себе работает. Разве что (если нет perl скриптов) на файлы я б поставил всеж 6'ку

Д
На сайте с 01.04.2012
Offline
102
#6

Если скрипты запускаются от имени пользователя, а не от имени пользователя, скажем apache, то ничего не будет и при 777. Например DirectAdmin можно было ходить по "соседям" в свое время, если временный адрес включен, а на нем запускались скрипты от apache.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий