Содержание
Изменить права на файлы или папки в Linux (chown, chmod)
Работая в Linux (равно как и во FreeBSD и Windows), нужно не забывать о правах доступа на файлы и папки. Часто, разворачивая проекты, написанные другими программистами, возникает необходимость изменить права на файлы или папки. Потребность эта возникает при неправильном проектировании разработчиками прав доступа или же при тонкой настройке проекта на поддерживаемом сервере.
Ниже приведённые рецепты помогут решить 90% проблем, возникающих при настройке прав доступа.
Сменить владельца для всех папкок и файлов, лежащих в данной папке
Чтобы сменить владельца, в Unix используется команда chown. Первая группа параметров данной команды — опции. Для того, чтобы изменения коснулись не только данной директории, но и всех поддиректорий, нужно применить командурекурсивно — с параметром «-R».
Вторая группа параметров — это владелец и группа владельцев, разделённые двоеточием (можно не устанавливать группу — тогда это просто логин владельца) — «user:group» или «user».
Третья же группа параметров — это пути до папок / файлов, к которым нужно применить команду. Например, «/home/user/dir/».
Итак, команда смены владельца и группы владельцев для директории и всех поддиректорий с файлами будет выглядеть так:
sudo chown -R user:group /home/user/dir/
Sudo говорит о том, что команда будет исполняться с повышенными привилегиями — обычный пользователь не способен изменить ни владельца, ни группу.
Изменить права доступа на файл или папку
Помимо владельца, можно настроить, что же может этот самый владелец и группа, а также все остальные. В Unix идёт разделение возможностей именно таким образом — есть 3 группы прав: владелец, группа владельцев и другие. И права, что можно присвоить каждой группе:
- Право на запуск файла. Оно же — право на проход по директории (если устанавливаем права на директории).
- Право на изменение файла. Оно же — право на создание и удаление файлов и папок в директории (опять же, если устанавливается для папки).
- И право на чтение файла. Для папок — это право на просмотр содержимого папки.
Кодируются эти права следующим образом: запуск — 1, изменение — 2, чтение — 4. Складывая их мы получим набор прав, предоставляемый владельцу/группе/другим.
Права на доступ изменяются командой chmod.
Примеры:
- Изменять файл имеет право только владелец, группа владельце может читать, остальные — ничего не могут:
chmod 640 /media/share/file.txt
- Создавать файлы в папке могут все, но видит их только владелец:
chmod 622 /media/share/messages/
- Есть программа, которая не хочет запускаться — не хватает прав на исполнение. Нужно, чтобы все могли её запустить, но никто, кроме владельца, не мог её редактировать:
chmod 711 /media/share/exec
Для рекурсивного изменения прав используется опять же ключ «-R». Например,chmod -R 700 /home/user
— доступ к файлам и папкам /home/user останется только у владельца.
Стоит заметить, что изменять права на файлы и директории могут администраторы и владелец этих папок и файлов.
Изменение прав только на файлы или только на папки
Вышеприведённый пример рекурсивного изменения прав на файлы и папки в /home/user/ не так уж и хорош, как может показаться. Мы сделали, чтобы теперь и обычные файлы могли запускаться. Это может привести к проблемам, если среди фалов были примеры программ, на которые специально были выставлены права без запуска, дабы случайно не исполнить хранимые программы. Если бы мы поставили права 600 — мы бы потеряли доступ к подпапкам и файлам, лежащим в них, ибо без права «на исполнение» (оно же — «право перехода по папке»), мы бы не смогли до них добраться.
Так что мухи — отдельно, котлеты — отдельно: зададим права сначала для одних, потом — для других. В этом нам поможет команда find.
find /home/user -type f -exec chmod 600 {} \;
Немного магии Но если присмотреться, всё понятно: найти в /home/user все объекты, типа file (f) и выполнить для них chmod 600.
Или же для директорий:
find /home/user -type d -exec chmod 700 {} \;
Как создать папку на виртуальном хостинге через панель
Существуют четыре способа изменения папок на сайте. Первый — через панель редактирования файлов, встроенную в CMS, на которой работает сайт. Второй способ — через SFTP (программа FileZilla). Третий способ аналогичен второму, но используя программы, которые умеют редактировать файлы на удалённых серверах без необходимости скачивать их к себе на компьютер (редакторы «Notepad++» и «Atom»).
Рекомендуем ознакомиться со статьёй «Загрузка файлов на сайт с помощью FileZilla», в которой описан процесс работы с программой, которая может создать папку и изменить права доступа на неё. А так же с одной из статей, описывающих редактор файлов и папок на сервере: «Средство разработки: Notepad++» или «Средство разработки: Atom»
Четвёртый способ изменения файлов на сайте — это изменение через панель управления хостингом. Давайте попробуем привести пример такого изменения файла. Для начала необходимо зайти в панель управления хостингом по адресу my.mousedc.ru. После входа/регистрации в системе, вы окажитесь на странице управления хостингом.
В верхнем меню панели администрирования найдите пункт «Хостинг». Кликните на него:
Если виртуальный хостинг ещё не заказан, то список будет пуст. В этом случае рекомендуем ознакомиться со статьёй «Как заказать виртуальный хостинг».
Если виртуальный хостинг уже заказан, то необходимо перейти в его панель управления. Делается это несколькими способами. Первый — кликнуть на кнопку вызова выпадающего меню в списке, а затем кликнуть на кнопку «Перейти в панель»:
Либо можно кликнуть на название хостинга в списке, и в открывшемся окне изменения настроек найти кнопку «Меню». Оно вызовет то же самое выпадающее меню, в котором нужно кликнуть на пункт «Перейти в панель»:
Произойдёт переход на панель администрирования виртуальным хостингом. Через эту панель мы попробуем создать папку внутри директории уже существующего сайта. Для этого в левом боковом меню найдите пункт «Главное» — «Менеджер файлов»:
Откроется список файлов и папок на сервере. Навигация по этому списку осуществляется как по папкам на компьютере. То есть необходимо выбрать нужную папку и кликнуть два раза левой кнопкой мыши, чтобы открыть эту папку.
Попробуйте открыть папку с названием «www»:
Внутри неё можно найти папки с названиями, идентичными названиям сайтов. Зайдите в папку нужного сайта с помощью двойного клика по ней. Попробуем создать в этой папке ещё одну папку. Для этого в верхнем меню нажмём на кнопку «Создать»:
Откроется форма для создания файла или папки:
В выпадающем списке «тип» надо выбрать «Каталог», чтобы создать папку. После чего набрать нужное имя и нажать «Ок» под ним:
Cмотрите другие статьи:
Как редактировать файлы на виртуальном хостинге через панель
Как удалить сайт с виртуального хостинга
Была ли эта статья полезна?
Есть вопрос?
Закажите недорогой хостинг
Заказать
всего от 290 руб
php — Ошибка установки Opencart Fresh: Не удалось открыть поток: Отказано в доступе
спросил
Изменено
1 год, 6 месяцев назад
Просмотрено
3к раз
Я пытаюсь установить Opencart на экземпляре CentOS 7 Google Compute Cloud. Я получил эту ошибку при попытке установить OC v3.0.3.2
Предупреждение: fopen(/var/www/webapp/system/storage/session//sess_d637dd9f9b2bc6b85077072329): не удалось открыть поток: Отказано в доступе в /var/www/webapp/system/library/session/file.php в строке 29Warning : flock() ожидает, что параметр 1 будет ресурсом, логическое значение указано в /var/www/webapp/system/library/session/file.php в строке 31. Предупреждение: fwrite() ожидает, что параметр 1 будет ресурсом, логическое значение указано в /var/ www/webapp/system/library/session/file.php, строка 33. Предупреждение: fflush() ожидает, что параметр 1 будет ресурсом, логическим значением, заданным в /var/www/webapp/system/library/session/file.php, строка 35. Предупреждение: flock() ожидает, что параметр 1 будет ресурсом, логическое значение указано в /var/www/webapp/system/library/session/file.php в строке 37. Предупреждение: fclose() ожидает, что параметр 1 будет ресурсом, логическое значение указано в /var/www /webapp/system/library/session/file. php в строке 39
Вот что я сделал до сих пор:
- Прочитайте install.txt и установите права доступа к файлам соответственно — не работает.
- Установить разрешения 0777 для всего каталога веб-приложений — не сработало.
- Создал файл file.php вручную и изменил разрешения на 0777 — Не работает.
- Изменил владельца файла на apache:apache и добавил свою учетную запись пользователя и учетную запись root в группу apache, снова установил разрешения на 0777 — не сработало.
- Кроме того, когда я попытался установить WordPress в тот же каталог, у установки WP не было разрешения на запись файла config.php
- Я пробовал это с большим количеством разных экземпляров ВМ. Все с одной ошибкой.
Что я упустил?
- php
- файл
- opencart
- права доступа к файлам
- отказ в разрешении
При использовании Linux вам необходимо использовать следующие команды для изменения прав доступа к файлам:
sudo chmod 0777 система/хранилище/скачать/
sudo chmod 0777 система/хранилище/журналы/
sudo chmod 0777 система/хранилище/модификация/
sudo chmod 0777 система/хранилище/сеанс/
sudo chmod 0777 система/хранилище/загрузка/
sudo chmod 0777 система/хранилище/поставщик/
sudo chmod 0777 изображение/
sudo chmod 0777 изображение/кеш/
sudo chmod 0777 образ/каталог/
судо чмод 0777 config. php
sudo chmod 0777 админ/config.php
Вышеупомянутая информация также доступна в установочном пакете OpenCart в install.text
Хорошо, наконец, нашел решение в этом сообщении в блоге. Большое спасибо автору.
Судя по всему, в SELinux есть еще один уровень настроек разрешений, и именно это мешало apache писать, несмотря на правильные разрешения.
Изменение политик SELinux с помощью chcon помогло.
Вот как я это исправил:
Найти, какой группе-владельцу должна принадлежать папка ‘www-root’ или ‘apache’
#показать владельца и группу-владельца файлов и каталогов
`~$ лс -л` `drwxr-xr-x 2 www-root www-root 4096 12 ноября 09:25 веб-сайт1` `-rw-r--r-- 1 root root 7598 11 ноября 05:31 веб-сайт2`
Предоставление разрешения соответствующему объекту. В моем случае это «www-root». Поскольку вы находитесь в /var/www/html, я предполагаю, что правильный пользователь — «apache».
# Предоставляет разрешение на www-root sudo chown www-root:www-root -R /var/www/www-data/веб-сайт # в вашем случае попробуйте www-data или apache sudo chown www-data:www-data -R /var/www/html/opencart
Правильно установите права доступа к файлам и папкам (поскольку файлы могут иметь разрешение на выполнение)
# Устанавливает права доступа к каталогу на 755 (rwxr-xr-x) sudo find /var/www/html/opencart -type d -exec chmod 755 {} \; # Устанавливает права доступа к файлу на 644 (rw-r--r--) sudo find /var/www/html/opencart -type f -exec chmod 644 {} \;
Я решил свой nginx vs operncart на разрешении Ubuntu, как показано ниже:
sudo chown $USER:www-data /var/www/html/opencart3037/* sudo chmod g+s /var/www/html/opencart3037/* sudo chmod о-rwx /var/www/html/opencart3037/ sudo chown -R www-данные:www-данные /var/www/html/opencart3037/ sudo chmod -R 770 /var/www/html/opencart3037/
Надеюсь, кому-нибудь поможет этот код
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Дочерние учетные записи поставщиков Opencart Marketplace
Дочерние учетные записи поставщиков Opencart Marketplace: это расширение позволит продавцам торговой площадки создавать несколько дополнительных учетных записей для себя, а также выбирать различные разрешенные параметры учетной записи для пользователей дополнительной учетной записи.
Эти разрешения параметров учетной записи помогают поставщику разделить роли и обязанности с другими пользователями дополнительной учетной записи.
Пример : Продавец может добавить пользователя только для просмотра заказов и добавления товаров, в то время как другой может только управлять профилем продавца.
**Примечание : Это расширение является дополнением к модулю Webkul Multi-Vendor . Чтобы использовать этот модуль, вы должны сначала установить Webkul’s Opencart Multi-Vendor Marketplace.
Примечание:
Ищете опытную компанию
Opencart? Подробнее
1. Этот модуль поддерживает все шаблоны и темы, включая тему журнала.
2. Модуль дополнительной учетной записи поставщика Opencart Marketplace поддерживает функцию мультимагазина Opencart по умолчанию.
Проверьте работу плагина в видео, указанном ниже –
i4WL08-7nZY
Особенности
- Администратор и Продавцы могут создавать несколько дополнительных учетных записей.
- Дочерние учетные записи могут быть созданы для магазина.
- Администратор может установить лимит субпродавцов, которых может создать продавец.
- Администратор может добавить разрешения, которые будут доступны продавцам.
- Администратор/Продавец может удалять/редактировать существующие дочерние учетные записи.
- Администратор может создавать дополнительные учетные записи для поставщиков.
- У каждого субпродавца есть собственная учетная запись и учетные данные.
- И Администратор, и Продавцы могут назначать определенные роли пользователям дочерней учетной записи.
Перевод модуля
Поскольку этот модуль Marketplace поддерживает несколько языков, в этом разделе описывается, как заставить модуль работать на разных языках. Пожалуйста, проверьте эту ссылку перевода языка.
Установка
Извлеките содержимое полученной zip-папки в вашей системе в соответствии с вашей версией Opencart. В извлеченной папке есть папки admin , catalog и ocmod . Теперь загрузите оба admin и каталоги в корневой каталог Opencart, как показано ниже на снимке экрана.
После загрузки папок войдите в систему администратора, а затем в разделе каталога перейдите к Extensions > Extension Installer и загрузите файл XML . Файл XML можно найти в папке ocmod в каталоге модуля. В папке ocmod выберите версию Opencart, которую вы используете, и под ней вы найдете 9Файл 0114 mp_sub_seller.ocmod.xml .
После загрузки файла XML перейдите в раздел Extensions > Modification и щелкните поле Refresh .
После этого в панели администратора перейдите к Система -> Пользователи -> Группы пользователей и отредактируйте « Администратор » и выберите все для Доступ и Изменить разрешение для разрешения, которое вы хотите предоставить и сохранить это.
Конфигурация модуля
Выполнив описанные выше шаги, вы увидите модуль в разделе Расширения -> Модули -> Дочерняя учетная запись поставщика Opencart Marketplace отсюда вы можете и отредактировать Это.
Щелкните параметр edit , чтобы настроить модуль, откроется другая страница, как показано на снимке экрана ниже.
Здесь администратор настроит модуль для использования –
- Включение модуля для использования.
- Выбор магазина , для которого вы хотите создать субаккаунт продавца.
- Установить лимит субпродавцов, которые может создать продавец.
- Установить почту для отправки при создании субпродавца.
- Выберите разрешения , которые вы хотите предоставить продавцам, которые затем можно назначить субпродавцам.
- Наконец, нажмите кнопку Сохранить для сохранения конфигурации.
Как настроить почту?
Почта также настраивается через админ панель, для этого нужно перейти через Торговая площадка > Почта. Администратор может даже редактировать/добавлять почту отсюда.
**Примечание. Только параметры Меню разрешенных учетных записей в разделе Учетная запись (Расширения > Модули > Торговая площадка > Конфигурация модуля каталога > Учетная запись > Меню разрешенных учетных записей) будут видны в разделе «Разрешения» выше.
Макет модуля необходимо установить в конфигурации администратора, для этого администратор будет переходить через Дизайн > Макет.
Здесь нажмите «Изменить», чтобы изменить макет учетной записи и добавить позицию Sub-Seller Marketplace в соответствии с требованиями.
Продавец – Управление
После успешной установки и настройки модуля у продавца появится учетная запись Управление субпродавцами в меню своей учетной записи, как показано ниже на снимке экрана.
При нажатии пункта меню продавец перенаправляется на страницу добавления дополнительных учетных записей , на которой отображается список пользователей дополнительных учетных записей . Здесь продавец может добавлять/удалять/обновлять субпользователей по мере необходимости. Чтобы добавить нового субпользователя, нажмите кнопку «Добавить», а чтобы удалить, нажмите кнопку «Удалить».
При нажатии кнопки добавить субпользователя открывается раздел для ввода сведений о субпользователе, как показано ниже.
Здесь продавец вводит личные данные субпользователя и , выбирает разрешения , к которым этот пользователь сможет получить доступ, и устанавливает статус субпользователя как Активный или Неактивный.
Наконец, нажмите кнопку продолжить , чтобы сохранить подпользователя.
Чтобы изменить субпользователя, продавец нажмет кнопку Редактировать .
Здесь продавец может удалить разрешения или добавить дополнительные разрешения для субпользователя.
Продавец также может установить статус субпродавца как Активный или Неактивный в соответствии с необходимостью. Наконец, нажмите кнопку продолжить , чтобы сохранить изменения.
Управление дополнительными пользователями
После того, как продавец создал учетную запись дополнительного пользователя, соответствующее уведомление по электронной почте будет отправлено на адрес электронной почты дополнительного пользователя, который использовался при создании учетной записи дополнительного пользователя.
Теперь дополнительный пользователь может войти в систему, используя адрес электронной почты и пароль продавец установил а создал аккаунт . После входа в систему субпользователь будет иметь разрешение на доступ к разрешенным разрешениям для этой учетной записи.
Поскольку продавец предоставил разрешение на доступ для – Мой профиль, История заказов, и Список продуктов , то же самое отражается в учетной записи субпользователя.
Субпользователь теперь может получить доступ к разделу «Мой профиль», «История заказов» и «Список товаров» продавца вместо продавца в отдельной учетной записи.
Теперь субпользователь сможет управлять разделами, для которых продавец предоставил разрешения:
Мой профиль: здесь субпользователь сможет редактировать/обновлять страницу профиля вместо продавец.
История заказов: здесь субпользователь сможет видеть историю заказов вместо продавца. Субпользователь сможет просматривать и управлять заказами в этом разделе.
При нажатии кнопки Просмотр откроется раздел для управления заказом, как показано ниже на снимке экрана.
Список товаров: здесь субпользователь сможет добавлять/редактировать/удалять товары вместо продавца.