Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 34 Ответов
  • 52731 Просмотров
*

fedya

  • Захожу иногда
  • 463
  • 50 / 1
И всё-таки какой CHMOD выставлять на папки и файлы?

Информации по форуму раскидано много, да она отрывочная и разная...в ФАКе по этому поводу ничего толком нет..

Вот у меня ситуация...
сайт сделан, всё настроено-установлено-допилено...работает
какие права мне выставить всем папкам и файлам, чтобы из админки можно было добавлять материалы и через медиа менеджер загружать файлы, короче всё то чем занимается девочка-секретарша которая ведет сайт небольшой фирмы?

нашёл такое
Цитировать
Установка CHMOD 777 или 707 для файлов или папок необходима только тогда, когда скрипт должен записать что-либо в этот файл или каталог. Все остальные файлы должны иметь следующую конфигурацию:
    * PHP-файлы: 644
    * Файлы конфигурации: 666
    * Другие папки: 755
это верно?
если да то возникли вопросы:
1)* PHP-файлы: 644
а с остальными неPHP файлами что делать?
каким образом всем php файлам на всём сайте автоматически выставить 644
ну не заходить же в каждый каталог и не ставить в ручную

2)* Файлы конфигурации: 666
это configuration.php имеется ввиду, или ещё какие файлы конфигурации стандартные есть

3)* Другие папки: 755
А подпапки? Нужно ли им тоже выставлять 755, и если да то как этот процесс автоматизировать?
корневой папке, в которой находится весь сайт тоже 755 поставить?
какие права нужно ставить для cache и tmp

Разъясните этот вопрос, пожалуйста, раз и навсегда...подробно и понятно...
Хочется сделать, так как правильно, а не так как я обычно делаю :)

Заранее, спасибо...
« Последнее редактирование: 20.02.2010, 17:42:56 от fedya »
Вместо того, чтобы доказывать истинность своих положений и опровергать аргументацию оппонента, демагог может обращаться к приёму ad hominem — критиковать не аргументы, а личность оппонента, пытаясь убедить зрителей, что оппонент — плохой, недостойный, не разбирающийся в вопросе, пристрастный или лицемерный человек.
*

fedya

  • Захожу иногда
  • 463
  • 50 / 1
Re: И всё-таки какой CHMOD выставлять?
« Ответ #1 : 20.02.2010, 20:31:40 »
ну если на такое количество вопросов отвечать влом...:)
напишите, так как делаете вы...т.е. какие права и на какие файлы/папки ставите вы...
Вместо того, чтобы доказывать истинность своих положений и опровергать аргументацию оппонента, демагог может обращаться к приёму ad hominem — критиковать не аргументы, а личность оппонента, пытаясь убедить зрителей, что оппонент — плохой, недостойный, не разбирающийся в вопросе, пристрастный или лицемерный человек.
*

mahp

  • Захожу иногда
  • 127
  • 4 / 0
  • mahp
Re: И всё-таки какой CHMOD выставлять?
« Ответ #2 : 20.02.2010, 22:57:53 »
Федя, Я раньше тоже парился. На все папки 755, файлы 644 и только на cache 777. Т.е. закрываю по максимуму. Затем на все остальные начинаю давать разрешения доводя сайт до работоспособности. Сайт без форума, стационарный и перенесённый с Денвера только и требует cache 777. Ну если не стоят расширения типа курс валют и пр. Это уже индивидуально для них читайте и экспериментируйте.
« Последнее редактирование: 17.05.2015, 00:34:37 от mahp »
*

mahp

  • Захожу иногда
  • 127
  • 4 / 0
  • mahp
Re: И всё-таки какой CHMOD выставлять?
« Ответ #3 : 20.02.2010, 23:01:36 »
666 - хорошее число, не зря выбрано. На configuration.php  666 - это чтоб демон сайт перевернул? В постоянной работе 644! Во время настройки сайта из Админки типа почты, SEO, модреврайт - то 666. Потом сразу, как закончу сайт обновлять или изменять, на 644 возвращаю. Открой configuration.php и ясно станет что там меняется из админки: изменил и доступ закрыл.
« Последнее редактирование: 17.05.2015, 00:36:10 от mahp »
*

one_more

  • Захожу иногда
  • 139
  • 87 / 3
  • there is no spoon
Re: И всё-таки какой CHMOD выставлять?
« Ответ #4 : 21.02.2010, 09:44:46 »
fedya, правильный ответ у каждого будет свой. Потому, что разные серверы настроены по-разному и Апач на разных серверах выполняется с разными правами. У меня, например, на все директории (в том числе и на cache и на media) стоят права 755, тем не менее и кеширование работает, и компоненты/модули/боты нормально устанавливаются. На все файлы стоят права 644 (если Вам от этого ответа станет легче)). На configuration.php и .htaccess - 444 (исключительно как средство от собственного склероза, чтобы файл не перезаписывался, когда я скопом копирую файлы по ftp на сервер с локалхоста).

Скажу больше, у меня сервер настроен таким образом, что если я дам права записи на любой файл php,  он вообще не будет выполняться - при обращении к скрипту сервер выбрасывает страницу ошибки "Исправьте права", а скрипт не стартует.

Другие варианты ответов на этот вопрос можно найти в данном разделе этого форума (отвечали неоднократно). Только ответы у всех будут разные.
Errare humanum est
*

fedya

  • Захожу иногда
  • 463
  • 50 / 1
Re: И всё-таки какой CHMOD выставлять?
« Ответ #5 : 21.02.2010, 20:00:17 »
каким образом всем файлам на всём сайте автоматически выставить 644
ну не заходить же в каждый каталог и не ставить в ручную
Вместо того, чтобы доказывать истинность своих положений и опровергать аргументацию оппонента, демагог может обращаться к приёму ad hominem — критиковать не аргументы, а личность оппонента, пытаясь убедить зрителей, что оппонент — плохой, недостойный, не разбирающийся в вопросе, пристрастный или лицемерный человек.
*

one_more

  • Захожу иногда
  • 139
  • 87 / 3
  • there is no spoon
Re: И всё-таки какой CHMOD выставлять?
« Ответ #6 : 21.02.2010, 21:29:36 »
Как всегда, имеются варианты. Например скриптом jsys (_http://dead-krolik.info/file_download/5/jsys.zip):

1. отмечается нужная директория
2. внизу страницы выбираете ссылку "сменить права"
3. на следующей странице ставите эти самые права (отдельно на директории и файлы)
4. нажимаем "отправить"

Скрипт обходит все вложенные директории и ставит права.
Можно то же самое сделать ftp-менеджером, но времени займёт намного больше.
Errare humanum est
*

fedya

  • Захожу иногда
  • 463
  • 50 / 1
Re: И всё-таки какой CHMOD выставлять?
« Ответ #7 : 21.02.2010, 22:11:57 »
Как всегда, имеются варианты. Например скриптом jsys (_http://dead-krolik.info/file_download/5/jsys.zip):
в длинном логе одни ошибки...
не может он что-то поменять...права...

например ...../menu.menuloader.class.php 644 ERROR
Вместо того, чтобы доказывать истинность своих положений и опровергать аргументацию оппонента, демагог может обращаться к приёму ad hominem — критиковать не аргументы, а личность оппонента, пытаясь убедить зрителей, что оппонент — плохой, недостойный, не разбирающийся в вопросе, пристрастный или лицемерный человек.
*

fedya

  • Захожу иногда
  • 463
  • 50 / 1
Re: И всё-таки какой CHMOD выставлять?
« Ответ #8 : 21.02.2010, 22:30:49 »
на другом хостинге вообще не хочет пароль воспринимать...
Вместо того, чтобы доказывать истинность своих положений и опровергать аргументацию оппонента, демагог может обращаться к приёму ad hominem — критиковать не аргументы, а личность оппонента, пытаясь убедить зрителей, что оппонент — плохой, недостойный, не разбирающийся в вопросе, пристрастный или лицемерный человек.
*

fedya

  • Захожу иногда
  • 463
  • 50 / 1
Re: И всё-таки какой CHMOD выставлять?
« Ответ #9 : 21.02.2010, 22:39:35 »
обнулил пароль на sweb нормально пошло
на masterhost не хочет никак
Вместо того, чтобы доказывать истинность своих положений и опровергать аргументацию оппонента, демагог может обращаться к приёму ad hominem — критиковать не аргументы, а личность оппонента, пытаясь убедить зрителей, что оппонент — плохой, недостойный, не разбирающийся в вопросе, пристрастный или лицемерный человек.
*

one_more

  • Захожу иногда
  • 139
  • 87 / 3
  • there is no spoon
Re: И всё-таки какой CHMOD выставлять?
« Ответ #10 : 21.02.2010, 22:49:03 »
Если не работает, возможно скрипту не хватает прав. Возможно проблема с владельцем (т.е. владелец файлов залитых по ftp и созданных скриптами может быть разный). Тогда telnet, ftp или SSH (chmod -R 755 ./root_directory <- синтаксис приведен для FreeBSD, может зависеть от ОС сервера, справка: man chmod)
Errare humanum est
*

fedya

  • Захожу иногда
  • 463
  • 50 / 1
Re: И всё-таки какой CHMOD выставлять?
« Ответ #11 : 22.02.2010, 12:36:15 »
И так, на основе своих мытарств, резюмирую всё, что выяснил:

1) На установленном и настроенном сайте изначально всем папкам выставляем CHMOD 755, всем файлам - CHMOD 644
на некоторых хостингах при таких значениях всё прекрасно работает...
2) на других хостингах - для некоторых папок нужно выставить CHMOD 777 (часто на папки: tmp, cache, images)
также, например, на Мастерхосте нужно выставить CHMOD 777 на папку tmp находящейся вне папки www
3) Некоторые расширения требуют особых прав на определенные папки и файлы (например, JoomlaPack не будет нормально работать, если не дать прав на запись на папку куда сохраняются бэкапы).
Чаще всего расширение само скажет (выведет сообщение) о недостаточности прав. Если ничего не говорит и в тоже время не работает, то читаем оф. сайт расширения, форумы и т.п., так же для теста можно временно выставить CHMOD 777 на папки и файлы которые относятся к расширению...
4) Поменять CHMOD на всём сайте можно несколькими способами:
a) Попросить хостера - самый простой и безгеморойный способ
b) Использовать скрипт, например Joomla system tool (jsys)

Для начала
[spoiler title=разбираемся с паролем]
Сам пароль хранится в нем самом же в переменной $JSYS_PASSWORD (в самом начале файла). Если вы по каким-либо причинам захотите отключить ввод пароля, то надо переменной $JSYS_ENABLE_AUTH присвоить значение 0. Пароль по умолчанию 'joom.ru'. Перед загрузкой на хост его необходимо поменять на свой.
[/spoiler]

затем:
Цитировать
1. отмечается нужная директория
2. внизу страницы выбираете ссылку "сменить права"
3. на следующей странице ставите эти самые права (отдельно на директории и файлы)
4. нажимаем "отправить"

Скрипт обходит все вложенные директории и ставит права.
Можно то же самое сделать ftp-менеджером, но времени займёт намного больше.


[spoiler title=описание Joomla! system tool]
Представляем вашему вниманию небольшую, но очень полезную утилитку, которая поможет вам еще проще чем раньше устанавливать Joomla и выполнять другие функции, например бэкап файлов.

В файловом архиве выложен файл jsys.php, который необходимо загрузить на ваш хост, где вы собираетесь поставить Joomla или где она уже стоит.

Скрипт обладает следующими возможностями:

1)  Архивирование, разархивирование и добавление в архив любых файлов;

2)  Удобный минималистически менеджер файлов, который решает повседневные задачи, такие как удаление, перемещение, копирование файлов, смена прав на файлы и директории;
3)  Если вы забыли/потеряли свой пароль на Joomla, то загрузив эту утилиту, вы сможете быстро поменять свой пароль;
4) Так же есть возможность загрузки удаленных файлов на ваш хост (пока только через cURL);
5) Существует возможность просмотра конфигурации php на хостинге;
6) Файловый менеджер позволяет просматривать изображения лежащие вне www-директории и просматривать листинг отдельных архивов;

Он может вам пригодиться в случае, если вам не хочется копировать по фтп несколько мегабайт дистрибутива Joomla, а хочется загрузить zip файл и распаковать его прямо на хостинге. Обратно можно делать бэкап файлов, просто собрав все в один архив (можно не собирать все, а делать бэкап по частям, все зависит от настроек вашего хостинга, и если вам не хватает памяти или времени для упаковки, то можно сделать несколько архивов, вместо одного). Также скрипт может рекурсивно менять права (chmod) на файлы и директории, причем права на них задаются отдельно.

Для обеспечения безопасности (а надо понимать, что такой инструмент необходим только для разовых действий и нахождение его на хосте постоянно - большая проблема в безопасности) по умолчанию для доступа ко всем функциям скрипта необходимо ввести пароль. Сам пароль хранится в нем самом же в переменной $JSYS_PASSWORD (в самом начале файла). Если вы по каким-либо причинам захотите отключить ввод пароля, то надо переменной $JSYS_ENABLE_AUTH присвоить значение 0. Пароль по умолчанию 'joom.ru'. Перед загрузкой на хост его необходимо поменять на свой.

Автор скрипта - Dead Krolik
[/spoiler]

После использования, не забываем удалить скрипт с сайта
Скрипт работает не на всех хостерах

c)
Цитировать
Если не работает скрипт, возможно скрипту не хватает прав. Возможно проблема с владельцем (т.е. владелец файлов залитых по ftp и созданных скриптами может быть разный). Тогда telnet, ftp или SSH (chmod -R 755 ./root_directory <- синтаксис приведен для FreeBSD, может зависеть от ОС сервера, справка: man chmod)

d) Через SSH-доступ
смена прав производится командой chmod.

Смена прав всех директорий:
find /путь_к_папке/ -type d | chmod 755

аналогично для файлов :
find /путь_к_папке/ -type f | chmod 644

e) Через FTP-клиент
Заходим ручками в нужные папки и меняем права

P.S. Дополнения и исправления приветствуются.
P.P.S. Это моё сообщение предлагаю прикрепить, куда-нибудь на видное место, чтобы вопросов по этой теме было меньше
« Последнее редактирование: 22.02.2010, 12:54:00 от fedya »
Вместо того, чтобы доказывать истинность своих положений и опровергать аргументацию оппонента, демагог может обращаться к приёму ad hominem — критиковать не аргументы, а личность оппонента, пытаясь убедить зрителей, что оппонент — плохой, недостойный, не разбирающийся в вопросе, пристрастный или лицемерный человек.
*

mahp

  • Захожу иногда
  • 127
  • 4 / 0
  • mahp
Re: И всё-таки какой CHMOD выставлять?
« Ответ #12 : 22.02.2010, 15:06:33 »
Вроде компонент ExtPlorer тоже позволяет.
*

Mast

  • Новичок
  • 3
  • 0 / 0
Re: И всё-таки какой CHMOD выставлять?
« Ответ #13 : 01.03.2010, 00:50:53 »
Цитата: fedya
d) Через SSH-доступ
смена прав производится командой chmod.

Смена прав всех директорий:
find /путь_к_папке/ -type d | chmod 755

аналогично для файлов :
find /путь_к_папке/ -type f | chmod 644

Для Debian подобных систем синтаксис немного другой:

для файлов
find /путь_к_директории_сайта -type f -exec chmod 644 {} \;

для директорий
find /путь_к_директории_сайта -type d -exec chmod 755 {} \;
*

InDY

  • Новичок
  • 2
  • 0 / 0
Re: И всё-таки какой CHMOD выставлять?
« Ответ #14 : 04.03.2010, 16:31:26 »
Я несколько конкретизирую вопрос топик стартера. Какие настройки доступа делать на стадии разработки и в бою (для ждумлы в базе), хостинг sweb.ru?
*

fedya

  • Захожу иногда
  • 463
  • 50 / 1
Re: И всё-таки какой CHMOD выставлять?
« Ответ #15 : 04.03.2010, 17:47:43 »
Я несколько конкретизирую вопрос топик стартера. Какие настройки доступа делать на стадии разработки и в бою (для ждумлы в базе), хостинг sweb.ru?
на sweb.ru у меня прекрасно всё работает при
755 на все папки
644 на все файлы...
даже на папку с кешем 755 стоит и кешу это совершенно не мешает
Вместо того, чтобы доказывать истинность своих положений и опровергать аргументацию оппонента, демагог может обращаться к приёму ad hominem — критиковать не аргументы, а личность оппонента, пытаясь убедить зрителей, что оппонент — плохой, недостойный, не разбирающийся в вопросе, пристрастный или лицемерный человек.
*

Gazon

  • Захожу иногда
  • 138
  • 7 / 0
  • Образец морали куртуазной
Re: И всё-таки какой CHMOD выставлять?
« Ответ #16 : 04.03.2010, 20:54:02 »
Цитировать
на sweb.ru у меня прекрасно всё работает при
755 на все папки
644 на все файлы...
даже на папку с кешем 755 стоит и кешу это совершенно не мешает
Аналогично на majordomo.ru

А вообще я забыл об этой проблеме когда перешел на Windows Web Server 2008  8)
*

altal

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Re: И всё-таки какой CHMOD выставлять?
« Ответ #17 : 10.03.2010, 12:55:42 »
Я проще выставляю права. В FileZila правой кнопкой мыши на нужной папке- Атрибуты файла. Поставить галку "Перенаправить во вложенные каталоги".
*

Kirills

  • Новичок
  • 3
  • 0 / 0
Re: И всё-таки какой CHMOD выставлять?
« Ответ #18 : 11.03.2010, 12:03:50 »
У меня хостер Masterhost. Настроен FTP клиент в Joomla, так вот с ним права можно оставить 755 на папки и 644 на файлы.
Joomla будет писать и создавать файлы от имени FTP аккаунта.

До настройки FTP клиента Joomla, были проблемы с записью, нужно было давать права 777 и 666 соответственно.
Но тогда владельцем файлов становилась учетка, от которой работает Apache.
Отсюда появлялась такая проблема: я просто не мог ничего сделать с файлами которые создавала Joomla с правами 755 и 644.

*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
Re: И всё-таки какой CHMOD выставлять?
« Ответ #19 : 23.03.2010, 20:48:27 »
Я проще выставляю права. В FileZila правой кнопкой мыши на нужной папке- Атрибуты файла. Поставить галку "Перенаправить во вложенные каталоги".
Поддерживаю. Просто и удобно. Правда хост автоматически бывает блокируется от новой версии FileZila, как бы порты сканирует.
*

Aeliot

  • Захожу иногда
  • 107
  • 2 / 0
Re: И всё-таки какой CHMOD выставлять?
« Ответ #20 : 07.10.2012, 21:10:57 »
Подход "а как остальные делают" конечно же имеет некоторые плюсы, тем не менее...
Прежде чем ставить "какие-то цифорки" -- 777 или какие-нибудь ещё, давайте разберёмся что они значат.
Для простоты можно посмотреть в TotlComander пункт меню "Изменить атрибуты"
Открываем и видим 7 - значит разрешено чтение, выполнение и запись файла.
Если стоят все три семёрки, значит такие права имеют все три основных группы пользователей
Можете поэкспериментировать сами.


Особенно опасна последняя семёрка.
Этим вы позволяете любому "пришлому" записывать вам на сайт всё, что тот захочет.
Вы уверены, что в настройках сервера правильно определена директива allow_url_fopen?
Больший ляп можно сделать только повесив у себя на сайте баннер с приглашением "поковыряться".

Максимальная допустимая последняя цифра -- это "пятёрка". И то далеко не везде. По возможности здесь должен стоять "ноль".
К слову сказать, обратите особое внимание на .xml файлы модулей и компонентов. А также языковые файлы.
Если не поставить последней цифрой ноль, то они прекрасно открываются по прямой ссылке.
Что при этом мы имеем:
1) в .xml файле перечислены все переменные, используемые модулем/компонентом и хранимые в базе
2) в языковом файле есть описание этих переменных, за частую с пояснениями к применению
3) в .xml файле перечислены все файлы, имеющиеся в модуле/компоненте.
Имея эту информацию можно начхать заглушку типа "index.html"
Перефразирую: если вы не настроите CMOD хотя-бы этим файлам, то ваш сайт будет стоять "потрахами наружу"

Если какой-нибудь модуль или компонент требует последней цифрой "семёрку", задумайтесь -- нужно ли вам такое расширение. Если действительно оно вам нужно, то садитесь и допиливайте его своими ручками до требуемого состояния.
« Последнее редактирование: 08.10.2012, 08:33:58 от Aeliot »
*

Go-destroy

  • Захожу иногда
  • 221
  • 4 / 1
Re: И всё-таки какой CHMOD выставлять?
« Ответ #21 : 29.03.2013, 03:23:42 »
достаточно ли  прав для папок 751 и файлам 644? или все же папка 755?
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Go-destroy

  • Захожу иногда
  • 221
  • 4 / 1
Re: И всё-таки какой CHMOD выставлять?
« Ответ #23 : 29.03.2013, 06:28:00 »
зависит от владельца файлов
Подскажите как проверить?
И каким образом меняется, если возможно.
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: И всё-таки какой CHMOD выставлять?
« Ответ #24 : 29.03.2013, 06:35:50 »
Подскажите как проверить?
И каким образом меняется, если возможно.
man chmod
*

dariusii

  • Захожу иногда
  • 75
  • 0 / 0
Re: И всё-таки какой CHMOD выставлять?
« Ответ #25 : 20.04.2016, 02:46:58 »
Извечный вопрос Joomla - "какие права выставлять" так и останется извечным). Наблюдаю тему года с 11го. Ничего не изменилось. Инфы нигде не прибавилось. тысячи блогов о том, как правильно выставлять права, в принципе. Какими инструментами, но какие именно! - инфа в духе "755/644" и не более. Люди уже плюют и ставят 777. Потом забывают возвращать. Сам принцип временных выставлений 777 уже очень странный момент.

готовлю ftp юзера так:
addgroup web-users && addgroup web-developers << создаю группу
usermod -a -G web-developers www-data << биндим группу в апач группу.

site=somesite
mkdir /home/ftp/$site
useradd $site -g web-developers -p 111 -d /home/ftp/$site -s /usr/sbin/nologin
mkdir /home/ftp/$site/$site
chown -R $site:web-developers /home/ftp/$site
mkdir /var/www/$site
chown -R $site:web-developers /var/www/$site
passwd $site < озвзросление пароля

vim /etc/fstab < биндим каталог
mount -a
chmod -w /home/ftp/$site
lftp $site@192.168.88.26
все ок. ходим итц.

делаю права:
chown -R $site:web-developers /var/www/$site
find /var/www/$site -type d -exec chmod 755 {} \;
find /var/www/$site -type f -exec chmod 644 {} \;
chmod 777 -R /var/www/$site/tmp
chmod 777 -R /var/www/$site/cache
(и это еще не все - нужно как-то закрыть доступ по http для вложенных файлов (.htaccess Joomla почему-то рисует, как htaccess.txt, пока не переправишь. И! с ее .htaccess все видно! вложения всех каталогов итц!), но не до жиру. устаканить бы простые вещи.)

Пробую включить ftp в cms Joomla 3.5.1 - хрен там. хорошо. времянка chmod -R 777 /var/www/$site - иногда прокатывает, а иногда нет, что вообще ахтунг. Как это, что иногда пркоатывает, а иногда нет ?? с одними и теми же правами.
Все та же пресловутая "Обнаружена ошибка.
 0 Не удалось произвести запись в файл конфигурации
" и это с 777 правами на все и вся. Ну да. руками меняешь настройки ftp через vim configuration.php. Этот совет давали году в 11м. Ничего не изменилось.
 Глюк Joomla? Я этот DOM Joomla уже Drupal! ее налево. чрутинг выше хоум в vsftpd запретил и делаю чрут путь в настройках cms, как имя каталога, что при входе по ftp. все ок, но не всегда. то да, то унэйбл ту врайт то конфигурэйшн файл. как так?
К слову, по ftp доступ есть всегда. по шеллу всегда, так же. а Joomla постоянно чудит. иногда думаешь - "уж разобрался уже - все работает без ошибок". ан нет. и с 777 иногда тупит. откаты через akeeba спасают, если только. Иначе - права один в один, но ругань, то у gftp, то еще где. То, что многие плагины без 777 не ставятся, вообще непонятно, как так.

Кто-нибудь может сказать, как же в Joomla это все правильно сделать-то? Люди?
« Последнее редактирование: 20.04.2016, 03:28:42 от dariusii »
*

flyingspook

  • Moderator
  • 3590
  • 247 / 9
Re: И всё-таки какой CHMOD выставлять?
« Ответ #26 : 20.04.2016, 08:22:10 »

Кто-нибудь может сказать, как же в Joomla это все правильно сделать-то? Люди?
Все прекрасно работает, Joomla тут совершенно стороной идет, chmod это серверные настройки, настраивайте сервер правильно и будет счастье.
*

dariusii

  • Захожу иногда
  • 75
  • 0 / 0
Re: И всё-таки какой CHMOD выставлять?
« Ответ #27 : 20.04.2016, 11:32:31 »
2 flyingspook
Да не вопрос. Понятное дело, что "Joomla тут совершенно стороной идет" :) Однако, может где-то отрегламентирован момент, как правильно под нее настроить сервер? Права доступа, права на определенные каталоги. Не от Васи Пупкина, с какого-то блога читать об этом, а именно официальный пруф. А то справку Joomla читаешь с ее страницы>начало работы, а там все в виде справочника. "What do Unix permissions look like?", как в "передаче discovery channel" и в таком же направлении.
Четко. На такой-то каталог такие-то права. На другой такие-то. некий acl лист.
+Отладка, а не "Не удалось произвести запись в файл конфигурации".
Вот беру апач, сквид, или vsftpd - там могу посмотреть логи, если какие ошибки. Где это в Joomla?
« Последнее редактирование: 20.04.2016, 11:52:20 от dariusii »
*

flyingspook

  • Moderator
  • 3590
  • 247 / 9
Re: И всё-таки какой CHMOD выставлять?
« Ответ #28 : 20.04.2016, 17:50:33 »
Права у вех сайтов 755/644 если надо закрыть 750/444-640-440 закрытие каталогов и файлов в каждом случае индивидуальна.
Если сторонние разработчики пишут расширения и под каталоги 777 надо ставить они про это указывают.
Сторонние CMS так же пишут если надо 777 ставить, но стандарт 755/644 и если у кого то что то не получается это повод подумать о настройках сервера или если хостинг писать в ТП и спрашивать.
Ни встречал ни разу за десятилетия проблемы с правами, все настраивается если возникает проблема на уровне apache или nginx, и не забывайте про пользователей папок  ;D.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: И всё-таки какой CHMOD выставлять?
« Ответ #29 : 04.05.2016, 10:28:27 »
Начинать нужно с запрета функции chmod и chown в php.ini — иначе все манипуляции с правами будут бессмысленны, так как любой шелл сможет поменять права ваших файлов и снять все ваши запреты. Битовые значения прав, как уже было отмечено выше, всегда выставляются по ситуации. Универсального рецепта нет. Существует 3 вида прав:

  • Права владельца файла
  • Права группы пользователей
  • Публичные права

Если вы имеете аккаунт на shared хостинге, то установка публичных прав xx7 будет означать, что любой пользователь этого хостинга потенциально сможет произвести над файлом любые манипуляции. Хостинги взламывают, вместе с ними взламывают сайты клиентов. Хостинги не афишируют факты взломов, клиенты ничего не знают, думают, что если шелл на сайте появился, то это "само прилетело". Поэтому права xx7 на shared хостингах = самоубийство. Публичные права в этом случае целесообразно для всех файлов и директорий поставить как xx0. Хостеры могут объединять пользователей в группы, поэтому и для групп желательно выставить x0x. То есть, только владелец должен иметь право читать, писать и исполнять файл. Следовательно, в данном случае, нужны права 700 для папок и 600 для файлов. Это позволит ограничить доступ к файлам посторонним пользователям, которые имеются на сервере. В данной конфигурации ниже chmod 700/600 выставить права не получится, потому что в противном случае владелец файлов/пользователь не сможет иметь к ним доступ, например, если захочет отредактировать файлы через FTP или перезалить их. Публичные файлы, например изображения, скрипты, стили, robots.txt, sitemap.xml, другие файлы которые должны быть доступны извне, и папки, в которых они лежат, должны быть открыты публично (644 и 755). Все остальные файлы и папки должны быть закрыты (600 и 700).

При установке прав нужно отталкиваться от того, под каким пользователем стартует пул PHP. Если PHP стартует под пользователем, совпадающим с владельцем файлов и папок (так почти всегда и бывает), то для любого шелла права 755 будет означать 777, а 644 будет означать 666. В этом случае не стоит париться вообще ни о чём — каталоги и файлы "дырявые", и вы не измените это никак. Можно запретить читать и писать файлы самому себе, тем самым вы запретите файлы для чтения и/или записи серверу, но это безумие.

Для того, чтобы запретить что-либо для сервера не во вред себе, нужно отделить себя от сервера, то есть пул будет работать под одним пользователем, вы будете работать под другим пользователем. Вы сможете делать с файлами всё, что захотите, имея права 7xx для директорий, 6xx для файлов, сервер будет иметь права x5x для директорий, x4x для файлов, если вы внесёте себя и сервер в одну группу и установите эту группу по умолчанию для себя (при создании файлов для них будет назначен владелец — Вы и группа-владелец, то есть Вы и сервер). Если Вы на VDS или дедике, владеете им единолично, посторонних пользователей нет вообще, то в этом случае установка группы не требуется. Для файлов можно установить права xx4, для директорий xx5 — собственно, это установлено по умолчанию: 644 и 755.

Проблема заключается в том, что на shared хостинге у вас нет доступа к конфигу PHP, вы не можете изменить его владельца, создать группу и разграничить пользователей, поэтому любые манипуляции с правами не целесообразны. Но если Вы на VDS, то при разграничении прав Вы фактически сводите к нулю вероятность того, что сервер без вашего ведома что-то напишет в публичных директориях, а любая попытка несанкционированного доступа будет отображаться в логе ошибок, что позволит легко определить скрипт, пытающийся что-то написать.

Вы сможете разрешить серверу запись файлов только там, где это необходимо, например в папках logs, tmp, cache, images. Для этого нужно установить права 770 (группа пользователь/сервер) или 707 (пользователь, группы нет, сервер) для этих каталогов, а для файлов на запись, соответственно, устанавливаются права 660 или 606. Если какое-то расширение куда-то пишет файл, то этот файл также можно вычислить по логам и открыть к нему доступ. Тем самым ничего без Вашего ведома в публичных директориях происходить не будет. Если нужно, например, обновить или установить расширения, обновить CMS, то перед этим необходимо открыть все каталоги и файлы на запись рекурсивно с помощью консоли или FTP менеджера, но после массовых манипуляций с файлами, файлы и каталоги необходимо снова закрыть (или же проще — поставить в качестве владельца файлов сервер, обновить расширения/CMS, а потом снова поставить владельцем себя). Вы можете также сделать файл недоступным ни для сервера, ни извне, выставив права 700 и 600, при этом файл останется для Вас открытым (обратите внимание, что на shared хостинге такие права будут означать полный доступ для чтения и записи для сервера).

Всё вышесказанное — ИМХО.
« Последнее редактирование: 04.05.2016, 13:26:27 от Филипп Сорокин »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Новый набег ботов в регистрации сайта... Какой в этом смысл то?

Автор Cedars

Ответов: 11
Просмотров: 1090
Последний ответ 03.11.2020, 17:36:03
от Cedars
Какой то код прописался в entry.php?

Автор aslanamirov

Ответов: 10
Просмотров: 1274
Последний ответ 23.04.2016, 15:53:55
от flyingspook
К URL приписывается какой то x.vindicosuite.com/click/fbfpc=1;v=

Автор zzzan

Ответов: 11
Просмотров: 1814
Последний ответ 08.04.2015, 21:39:22
от vipiusss
CHMOD пользователи и действия

Автор uploadprofi

Ответов: 4
Просмотров: 1351
Последний ответ 11.06.2014, 05:54:52
от WebDisaster
Вчерась заразился какой-то кАкой "statcounter.345.pl"

Автор flat4er

Ответов: 14
Просмотров: 3532
Последний ответ 26.02.2012, 13:02:49
от flyingspook