Jump to content

Featured Replies

Posted
comment_198916

Добрый день ребята, столкнулся с проблемой такой:

Восстановил форум из бэкапа, но слетели права на папках полностью
Выдал права 0777 на следующие папки:
- application
- datastore
- plugins
- uploads
- uploads/logs
- conf_global.php

Но это не помогло, выдает вот такую ошибку в АЦ:
 

IPS\File\Exception: CANNOT_WRITE (3)
#0 /var/www/main/site.ru/system/File/File.php(351): IPS\File\_FileSystem->save()
#1 /var/www/main/site.ru/system/Theme/Theme.php(5498): IPS\_File::create()
#2 /var/www/main/site.ru/system/Theme/Theme.php(2634): IPS\_Theme::writeCss()
#3 /var/www/main/site.ru/system/Theme/Theme.php(646): IPS\_Theme->compileCss()
#4 /var/www/main/site.ru/applications/core/modules/admin/overview/dashboard.php(40): IPS\_Theme->css()
#5 /var/www/main/site.ru/system/Dispatcher/Controller.php(118): IPS\core\modules\admin\overview\_dashboard->manage()
#6 /var/www/main/site.ru/system/Dispatcher/Dispatcher.php(153): IPS\Dispatcher\_Controller->execute()
#7 /var/www/main/site.ru/admin/index.php(13): IPS\_Dispatcher->run()
#8 {main}

 

  • Author
comment_198924
40 минут назад, Desti сказал:

А стили сохраняются в uploads/css_... Проверьте права на вложенные папки

 

 

Выдал на все подпапки uploads 0777, ошибка как была так и осталась. Слышал что можно просто выдать на все папки 07555 и на файлы 06444. Но достоверно ли это?

comment_198925

Смотри под кем запускается php, этот пользователь должен быть владельцем папок

56 минут назад, SoulRainr сказал:

Слышал что можно просто выдать на все папки 07555 и на файлы 06444. Но достоверно ли это?

зависит от настроек сервера, лично у меня 755 и 644

  • Author
comment_198927
59 минут назад, Exception сказал:

Смотри под кем запускается php, этот пользователь должен быть владельцем папок

зависит от настроек сервера, лично у меня 755 и 644

Выдал данные права + группу www вместо root, ребутнул полностью все, почистил Cash NS, и все окей встало.

comment_198928

Лучше прислушаться к мнению разработчика, так как оно универсальное. 

https://invisioncommunity.com/4guides/advanced-options/configuration-options/controlling-file-and-folder-permissions-r279/

 

comment_198929
3 часа назад, Zero108 сказал:

Лучше прислушаться к мнению разработчика, так как оно универсальное. 

https://invisioncommunity.com/4guides/advanced-options/configuration-options/controlling-file-and-folder-permissions-r279/

 

Какое там мнение? Использовать права которые настроены на сервере? Логично ахахаха

comment_198931

Указаны права, которые нужно установить на большинстве серверов. Если у кого-то фриковские настройки сервера (644 на файлы вместо "Files that the software may overwrite: 0666" и "Files that the software will not overwrite: 0644" и т.п.), то обращаться к фрикам. Они помогут. 

comment_198932
25 минут назад, Zero108 сказал:

Указаны права, которые нужно установить на большинстве серверов. Если у кого-то фриковские настройки сервера (644 на файлы вместо "Files that the software may overwrite: 0666" и "Files that the software will not overwrite: 0644" и т.п.), то обращаться к фрикам. Они помогут. 

Изучи, пожалуйста, что такое chmod на досуге между молитвами будде, какие значения используются на постоянной основе, какие используются в основной массе, и какие правильные.

Фриковые хостинги как раз и используют 777 и 666. Константа из твоего гайда "с намеком" используется для перезаписи chmod только если движок не смог записать данные в файл\папку, но они не учли что если владельцем папок\файлов не является пользователь = php, даже это не сработает, это проверил автор этой темы на себе.

Если пользователь папки\файла = пользователь php, и движок может записать данные в файл\папку, данные из этих констант "0666" нигде не используются и не применяются.

comment_198935
9 часов назад, Exception сказал:

Изучи, пожалуйста, что такое chmod на досуге между молитвами будде, какие значения используются на постоянной основе, какие используются в основной массе, и какие правильные.

Фриковые хостинги как раз и используют 777 и 666. Константа из твоего гайда "с намеком" используется для перезаписи chmod только если движок не смог записать данные в файл\папку, но они не учли что если владельцем папок\файлов не является пользователь = php, даже это не сработает, это проверил автор этой темы на себе.

Если пользователь папки\файла = пользователь php, и движок может записать данные в файл\папку, данные из этих констант "0666" нигде не используются и не применяются.

Изучил вопрос по этим константам более подробно.
Они используются так же если движок смог перезаписать данные и так же когда движок создает файл\папку. Немного не понимаю для чего это, если php смог изменить\создать то права выставляются автоматически?

Более точный и правильный вариант следующий:

  1. Если движок может записать с 755\644 изменяем значения констант на 755 и 644 в constants.php

Для тех кто не понимает как это работает и у кого обычный веб-хостинг без запретов на 777\666 оставляем все без изменений. Если такой вариант не работает (например запрет на 777\666), спрашиваем у хоста с какими правами происходит запись ( скорее всего это будет 755 и 644 ) и изменяем значения констант в constants.php

Для владельцев VPS и выше:
Если файлы\папки распаковываются\создаются через терминал супер-пользователем (например root), необходимо изменить владельца\группу (chown, chgrp) на пользователя из под которого работает php.
Если владелец может записывать (владелец = пользователь php) - 755 \ 644 (оптимально)
Если группа может записывать (Например владелец = root \ группа = пользователь php) - 775 \ 664 (при этом я так понял 777 \ 666 будут избыточными) 
Если файлы\папки распаковываются через веб-панель сервера (например FastPanel), смотрим с какими правами они распаковались (обычно это 755\644) и изменяем значения констант.

10 часов назад, Zero108 сказал:

Указаны права, которые нужно установить на большинстве серверов.

Права 755 \ 644 являются по умолчанию и используются на большинстве серверов. Это самый оптимальный и безопасный вариант, так как (владелец = запись) не больше не меньше.
Почему константы в ips имеют 777\666 ? Да, это универсальный вариант для чайников, который охватывает большинство незнающих пользователей и сводит к минимуму ошибки по типу CANNOT_WRITE ( их логика по типу чем проще для чайника тем лучше ( исключая риски безопасности - например на обычном хостинге возможен вариант  эксплойта и получения доступа к файлам если на папках\файлах 777\666 ) )

Если есть кто знает больше, меня поправят.

comment_198936

Exception Все верно говоришь. 

IPS рекомендуют максимальные права для того, чтобы было меньше вопросов к ним.

Установил права 777 - привет эксплоиты.

Если у вас ноунейм сайт, с небольшой БД, или же вы просто учитесь сайтстроению и нет желания настраивать сервер, то да, ставьте 777 и не парьтесь. Но будьте готовы в один прекрасный момент либо делать сайт с 0 либо восстанавливать из бекапов (которые не у всех есть), т.к. его вам попросту снесут или напихают вирусов

comment_198937
54 минуты назад, Exception сказал:

Если есть кто знает больше, меня поправят.

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

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

Вот вообще не вижу проблем...

 

Я как делаю.

В углу за шкафом стоит сервак с установленой hestiacp.

На компе открываю файлзиллу,захожу в свой фтп-аккаунт,заливаю архив в папку и там разархивироваю. Все права устанавливаются как и положено,но не 777/666...

comment_198946
2 часа назад, HooLIGUN сказал:

Установил права 777 - привет эксплоиты.

Нуленый движок и приложения и плагины от сторонних программистов вас не пугают. А проверенные годами права 777 на папки applications, datastore, plugins, uploads/* пугают. Странно все это.

У меня под пользователем не root сайт работает. Система ругается на недостаток прав, если не поставить так:

/applications/core/interface/task/task.php - 775

/plugins/hooks.php - 777

Кстати, Redis работает под каким-то пользователем своим или нет?

 

  • Author
comment_198947

Зачем вы тут флудите, проблема решена. Проблема была в правах и юзерах.

Лучший вариант, как говорят зарубежные наши друзья и умные ИИ, да и в целом как показывает практика - лучший вариант использовать 755 (Папки) и 644 (Файлы)

Edited by SoulRainr

comment_198948
21 час назад, Exception сказал:

Фриковые хостинги как раз и используют 777 и 666. Константа из твоего гайда "с намеком" используется для перезаписи chmod только если движок не смог записать данные в файл\папку, но они не учли что если владельцем папок\файлов не является пользователь = php, даже это не сработает, это проверил автор этой темы на себе.

На большинстве серверов пользователь сайта является пользователем php. А вот на фриковых серверах, которых меньшинство, это не так. Производитель движка имеет данные из службы поддержки о наиболее частых конфигурациях, поэтому и публикует наиболее оптимальный вариант настроек. Написано же, что подойдет для большинства систем. 

  • Respected locked this тема
Guest
This topic is now closed to further replies.

Последние посетители 0

  • No registered users viewing this page.