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

Обновлено: 04.07.2024

Ошибки прав доступа обычно связаны с установками Linux и macOS. В таких системах для файлов и каталогов доступны три привилегии: чтение (r), запись (w) и выполнение (x). Пользователь системы может выполнять различные операции в зависимости от своих привилегий и групп, к которым принадлежит этот пользователь. Дополнительные сведения о разрешениях см. в этом руководстве. Проблема с правами доступа возникает, когда приложение (или системный пользователь) выполняет несанкционированную операцию в файловой системе.

Стеки Bitnami создаются с учетом требований безопасности. Они настроены на установку наиболее безопасных разрешений без ущерба для пользовательского интерфейса приложения. В этом смысле стандартный способ следующий:

Облачные образы и виртуальные машины:

  • Наличие системного пользователя для доступа по SSH/SFTP: bitnami
  • Назначьте системного пользователя и группу для каждого демонизированного процесса. Эти пользователи будут иметь крайне ограниченные привилегии. Причина наличия нескольких пользователей системы состоит в том, чтобы свести к минимуму влияние, если безопасность процесса будет скомпрометирована. Ниже приведены наиболее распространенные процессы:
    • Apache: демон
    • MySQL: mysql
    • PostgreSQL: postgresql
    • Кот: кот

    Весь стек доступен для записи только пользователю root. По умолчанию пользователям без полномочий root разрешены только права на чтение. В виде исключения каждый демонизированный процесс может записывать только в определенные папки данных и временные папки. Например: mysql может записывать в /opt/bitnami/mysql/data и /opt/bitnami/mysql/tmp.

    • Если системный пользователь bitnami хочет отредактировать файл, он должен получить права суперпользователя. Чтобы улучшить взаимодействие с пользователем, пользователь bitnami может владеть (с правами на запись) определенными папками (например, папкой htdocs WordPress).

    Установщики с установкой root: то же, что и в предыдущем случае, но без пользователя bitnami. Все операции должны выполняться пользователем root.

    Установщики с установкой без полномочий root и установщики Windows: пользователь, запускающий программу установки, полностью владеет стеком и всеми его демонизированными процессами.

    В этом практическом руководстве вы узнаете, как справляться с ошибками прав доступа в вашем приложении. Вы узнаете, как Bitnami настраивает разрешения в приложениях, каковы распространенные проблемы, а также некоторые рекомендации по устранению проблем в стеке.

    Как обнаружить

    Выявить проблемы с разрешениями довольно просто. Обычно это означает сбой приложения или отображение ошибок (либо в журналах, либо в стандартном выводе), таких как следующие:

    Эти ошибки обычно включают путь, который процессу не удалось прочитать или записать.

    Распространенные проблемы

    Самые распространенные проблемы с разрешениями, с которыми сталкиваются пользователи Bitnami, перечислены ниже:

    Загрузка или редактирование файлов через SFTP: благодаря нашим безопасным разрешениям пользователь не может загружать или редактировать файлы во всех местах стека без прав суперпользователя.

    Пользователь модифицирует или изменяет разрешения: добровольно или невольно пользователь изменяет разрешения стека по умолчанию. Из-за этого приложение перестает работать. Подгруппа таких случаев связана с проблемами обновления вручную.

    Операция, выполненная не тем системным пользователем: в основном это относится к стекам с утилитами командной строки (например, Magento или ERPNext). Если пользователь выполняет операцию командной строки, может возникнуть ошибка, поскольку операция была выполнена не тем системным пользователем. В зависимости от привилегий этого системного пользователя стек может стать непригодным для использования.

    Несовместимость плагинов. Некоторые плагины требуют определенных разрешений для определенных файлов конфигурации (например, wp-config.php в WordPress). Эти разрешения могут быть несовместимы с теми, которые Bitnami устанавливает по умолчанию.

    Контрольный список для устранения неполадок

    Следующий контрольный список охватывает большинство случаев, описанных выше. Вы можете найти и устранить большинство проблем с разрешениями.

    Используете ли вы правильную программу для редактирования разрешений?

    FTP-клиенты, такие как Filezilla, нельзя использовать для изменения разрешений в вашем стеке. Вместо этого вы должны использовать SSH-клиент. Чтобы узнать больше о подключении через SSH, см. это руководство.

    Вы не можете загрузить файл через SFTP?

    Если вы видите подобную ошибку при загрузке файла:

    Временно измените права доступа к папке или файлу назначения, загрузите файлы, а затем восстановите исходное состояние файла или папки. Для этого выполните следующие действия:

    Войдите в консоль сервера. Узнайте, как подключиться к серверу через SSH.

    Выполните команду в целевой папке, в которую вы хотите загрузить файл (замените TARGETFOLDER на правильный путь):

    Если вы хотите загрузить файл, замените заполнитель TARGETFOLDER полным путем к файлу. Ниже приведен пример:

    Вы увидите такой вывод:

    Примите к сведению эту информацию. В этом случае файл или папка имеют следующие разрешения:

    • Разрешения: 0775
    • Владелец: демон
    • Группа: демон

    Измените владельца папки или файла на bitnami (не забудьте заменить заполнитель TARGETFOLDER на правильный путь):

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

    Вы не можете редактировать файл через SSH?

    Если вы получаете подобную ошибку при попытке отредактировать файл в сеансе SSH:

    Вы должны редактировать файл с правами суперпользователя. Выполните команду в файле, который вы хотите отредактировать (замените TARGETFILE на правильный путь). В этом примере мы будем использовать nano в качестве редактора:

    Сохраненный файл должен поддерживать исходные привилегии.

    Правильно ли установлены разрешения в вашем стеке?

    Если ваше приложение дает сбой или выдает следующую ошибку:

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

    Проверьте историю команд для операций по изменению разрешений:

    Проверьте вывод. Примеры такого рода операций следующие:

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

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

    В этом примере мы видим, что право собственности указано неверно. демон должен быть владельцем файлов.

    Если права доступа к файлам неверны, используйте команды chmod или chown, чтобы восстановить их до исходного состояния. Следуя приведенному выше примеру, сделайте следующее:

    Если ваш стек использует MySQL, проверьте и сбросьте права доступа к каталогу данных MySQL:

    Если ваш стек использует MariaDB, проверьте и сбросьте права доступа к каталогу данных MariaDB:

    Если в вашем стеке используется Apache, сбросьте права доступа к каталогу Apache:

    Проверьте, теперь приложение работает без проблем.

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

    Для приложений настроены самые безопасные рабочие разрешения. Этот набор разрешений не должен влиять на нормальную работу вашего приложения. Если пользовательский интерфейс позволяет загружать файлы, устанавливать или обновлять плагины, эти процедуры должны работать без проблем. Если вы обнаружите ошибку во время одного из этих процессов, сделайте следующее:

    Если с вашими разрешениями все в порядке, создайте заявку в службе поддержки Bitnami, следуя инструкциям по созданию заявки.

    Вы не можете выполнить команду через SSH в стеке?

    Если вы пытаетесь выполнить команду внутри своего стека и получаете такую ​​ошибку:

    Возможно, вы выполняете команду не от имени другого системного пользователя. Чтобы исправить это, следуйте этим инструкциям:

    Загрузите среду приложения, выполнив следующую команду. Замените APPNAME на имя вашего приложения:

    ПРИМЕЧАНИЕ. Замените заполнитель APPNAME идентификатором имени приложения Bitnami, например wordpress.

    Эта ошибка иногда возникает при попытке доступа к определенным частям сайта. Чаще всего это видно при попытке загрузить курсы и при доступе к администрированию сайта. Кажется, это происходит случайно, и мы видим это один или два раза каждые пару недель, и нет никакой связи между днями или временем, когда это может произойти.

    Все разрешения для папок настроены правильно, так как сайт работает нормально в 99% случаев, пока внезапно не начинает появляться эта ошибка. Чтобы решить эту проблему, мы просто перезагружаем коробку, и все снова в порядке.

    Кто-нибудь может предположить, что может быть причиной этого?

    Ссылка "Подробнее об этой ошибке" ведет на несуществующую страницу:

    Версия Moodle: 3.5

    Приложение moodle_perm_dataroot.jpg

    Что говорят вам журналы вашего сервера? Я ожидаю, что Amazon согласится предоставить вам доступ к вашим собственным журналам? Кроме того, взгляните на журналы PHP. Кто-нибудь запускает PHP как exec?

    Как правило, эта ошибка возникает время от времени, может быть, раз в год или два, и до сих пор у нас не было для нее объяснения.У вас есть странный каталог в вашем каталоге Moodledata? Какие разрешения у него есть, если они там есть. (Это должно быть что-то вроде drwxrwxr-x, если вы используете сервер Linux, но в вашем странном каталоге не будет этого набора разрешений.) Могут быть некоторые общие факторы, например, ваши пользователи получают эту ошибку, используя Mac Airbooks? Поскольку вы AWS, вы используете SAN или NAS? (Я не имею ничего общего с AWS, но недавно я наблюдал за ними, изучая виртуализацию и всепобеждающие «облачные вычисления».) Как вы выполнили свое последнее обновление? CLI или какая-то панель управления? Linux или Windows?

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

    Спасибо, извините, я должен был включить больше информации об ОС и т. д. Мы работаем на Linux, Ubuntu 14.04

    Каталог moodledata находится в папке: /var/moodledata/ и имеет следующие разрешения:

    Доступ: (0777/drwxrwxrwx) Uid: ( 33/www-data) Gid: ( 1000/moodleuser)

    Я запустил chmod и chown -R для этого каталога и всех файлов в нем. Я не вижу там каких-то странных файлов/папок, но почти все содержат случайные строки.

    У меня возникла ошибка, и я попытался обновить разрешения, перезапустить apache, но она все еще присутствует. Я пока не хочу перезагружаться, чтобы зафиксировать проблему.

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

    qa-featured

    Я установил Moodle 2.5.2 на свою операционную систему Mac, но получаю следующее сообщение об ошибке, когда пытаюсь загрузить файлы в свои «личные файлы», выбирая их. Я использую автоматическую функцию для установки и загрузки плагина. Я только что проверил dataroot на наличие разрешения, и все было в порядке. Что с этим не так и как я могу решить эту проблему? Есть идея решить проблему? Любая помощь будет оценена по достоинству. Спасибо.

    Moodle 2.5.2 в моей операционной системе Mac

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

    • Статус: открыто
    • Просмотры вопроса: 4255
    • Количество ответов: 1
    • Голосовать за 0 Голосовать против
    • Ответ принят: нет
    • Категория вопроса: Apple

    Невозможно создать каталоги локального файлового пула

    qa-featured

    Вам необходимо знать поведение файла, который вы сохраняете в личную папку. Вам также необходимо знать, как Moodle создает каталог. Вам необходимо проверить хэш содержимого файла, который может быть уже зарегистрирован при первой загрузке. Таким образом, вам необходимо знать поведение файла и то, как Moodle создает каталог. Невозможно проверить содержимое файла, так как Moodle использует sha1 для шифрования. Следовательно, вам нужно отследить его и, наконец, удалить. В этом случае, я думаю, загрузка будет возможна.

    В качестве альтернативы Moodle 2.5 может выбрать альтернативный путь, который он выбирает в процессе установки. Возможно, вы используете поддомены, а Moodle выбирает альтернативный путь к каталогу. Установите Moodle еще раз и проверьте, когда он запрашивает подтверждение пути к каталогу. Возможно, это другая причина.

    К файлам и каталогам в домашнем каталоге вашей учетной записи CLAS Linux можно получить доступ на компьютерах с операционной системой Linux. Linux является разновидностью UNIX и использует права доступа к файлам и каталогам UNIX. В целях разрешений UNIX делит учетные записи на три класса:

    пользователь
    Ваша учетная запись.

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

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

    Типы разрешений

    Существует три основных типа разрешений, которые можно назначить каждому из этих трех классов учетных записей:

    чтение
    запись
    выполнение

    Разрешения на доступ к файлам

    Эти три типа разрешений означают несколько иное для файлов и каталогов. Для файлов эти разрешения предоставляют следующие права:

    read
    Разрешено читать содержимое файла

    написать
    Разрешено изменять или удалять файл

    выполнить
    Разрешить запуск файла как процесса, если это возможно

    Разрешения каталога

    Для каталогов разрешения предоставляют следующие права:

    чтение
    Разрешено просматривать содержимое каталога

    написать
    Разрешено создавать, изменять или удалять файлы в каталоге

    выполнить
    Разрешен доступ к файлу в каталоге, если известно имя файла

    Просмотр прав доступа к файлам

    Команда ls используется для вывода списка файлов и содержимого каталогов. Параметр -l отображает разрешения. Например, чтобы увидеть права доступа к файлу с именем foo в каталоге /usr/bin/bar, вы должны выполнить:

    ls -l /usr/bin/bar/foo

    И команда вернет что-то вроде этого:

    -rwxr-xr-- 1 гость jsmith 3072 11 фев 09:25 /usr/bin/foo

    В этом примере jsmith — это учетная запись, которой принадлежит foo, а guest — это имя группы, которой принадлежит /usr/bin/foo. -rwxr-xr-- слева указывает разрешения. Первый символ - указывает, что /usr/bin/foo является файлом, а не каталогом. rwx показывает разрешения для класса учетных записей пользователей — в данном случае jsmith. r указывает разрешение на чтение; w , разрешение на запись; и x , разрешение на выполнение. Следующие три символа, r-x, показывают разрешения для группового класса учетных записей, который в этом примере является гостевым. Наконец, последние три символа, r--, отображают разрешения для другого класса — любой учетной записи, которая не является jsmith и не входит в гостевую группу.

    Просмотр содержимого каталога

    Если вы хотите просмотреть содержимое каталога, вы также можете использовать ls. Предположим, что /usr/bin/bar — это каталог. Затем команда:

    может вернуть что-то вроде этого:

    drwxr-x--x 5 гостей jsmith 4096 23 января 2008 г. foodir
    -rw-r----- 1 гость jsmith 48128 14 сентября 2004 г. WhatToDo.doc
    -rw-rw-r -- 1 гость jsmith 464 6 июля 2005 г. WinCA.txt

    Это показывает нам содержимое панели каталогов. Буква d слева от слова foodir указывает, что foodir — это каталог.

    Просмотр разрешений каталога

    Если вы хотите видеть права доступа к самому каталогу /usr/bin/bar, а не к его содержимому, вам нужно использовать аргумент командной строки -d для ls. Итак, вы должны выполнить эту команду:

    ls -ld /usr/bin/bar

    и вы увидите что-то вроде этого:

    dr-xrwxr-x 3 гость jsmith 4096 23 января 2008 г. /usr/bin/bar

    Текущий рабочий каталог

    Текущий рабочий каталог — это каталог, который по умолчанию будет использовать команда UNIX при ее выполнении. Например, если вы не укажете файл или каталог при запуске команды ls, то ls будет считать, что вы хотите просмотреть содержимое текущего рабочего каталога. Итак,

    вернет список файлов и каталогов в вашем текущем рабочем каталоге. Чтобы увидеть абсолютный путь к текущему рабочему каталогу, используйте команду pwd.

    UNIX предоставляет сокращенную запись для вашего текущего рабочего каталога. Одиночная точка (.) указывает на текущий рабочий каталог. Две точки (..) указывают на каталог, расположенный непосредственно над вашим текущим рабочим каталогом.

    Скрытые файлы и каталоги

    В UNIX, если имя файла или каталога начинается с точки (.), то по умолчанию ls не будет отображать файл или каталог в списке каталогов. Чтобы просмотреть все файлы в каталоге, включая скрытые файлы, используйте аргумент командной строки -a. Команда:

    покажет все файлы и каталоги в каталоге, включая скрытые файлы. Команда:

    отобразит все файлы и каталоги, а также покажет их разрешения.

    Домашние каталоги

    Каждая учетная запись Linux связана с домашним каталогом. Когда вы входите в свою учетную запись Linux, по умолчанию ваш текущий рабочий каталог будет вашим домашним каталогом. UNIX предоставляет сокращенный символ для вашего домашнего каталога, символ тильды, ~. Итак, чтобы увидеть список файлов в вашем домашнем каталоге, вы можете выполнить:

    Для получения дополнительной информации

    Чтобы узнать больше о правах доступа к файлам и каталогам в Linux, поищите в Интернете или воспользуйтесь командой Linux man для поиска команд chmod и umask.

    Изменено: пн, 15 февраля 2021 г., 2:59

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

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

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

    Общие ресурсы — это важный способ защиты доступа к определенным данным, позволяющий пользователям участвовать в совместной работе над проектом или получать доступ к областям файлового пространства, когда это необходимо. Администраторы могут применять или отзывать доступ по мере необходимости, повышая пользователей с доступом на чтение, на чтение и запись по мере изменения их требований к доступу или полностью удаляя доступ.

    Создание общих ресурсов и назначение пользователей и разрешений можно выполнить с помощью нашей клиентской панели LucidLink и вкладки панели управления.

    < бр />

    Найдите LucidLinklogo на панели задач, чтобы получить доступ к панели управления.

    < бр />

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

    < бр /> <р>1. Выберите пользователя.


    <р>2. Выберите общий путь.

    < бр /> <р>3. Укажите тип доступа, чтение или чтение, запись и выберите добавить общий доступ.

    < бр />

    Существующие общие ресурсы можно изменить, добавить дополнительных пользователей или обновить или отозвать разрешения пользователей, развернув общий ресурс, добавив пользователей или выбрав дополнительные параметры для существующих пользователей.



    Общие файловые пространства также можно администрировать из командной строки и легко создавать сценарии.

    Предоставьте доступ к корневому пути файлового пространства пользователю с разрешениями на чтение и запись.

    Поделиться папкой с правами доступа только для чтения.

    Повысить уровень доступа к общей папке ранее доступного пользователя только для чтения до разрешений на чтение и запись.

    Предоставьте общий доступ к папке пользователю с правами доступа на чтение и запись.

    Отозвать у пользователей разрешения на запись из общей папки.

    Отменить доступ пользователей к общей папке.

    Отображение структуры общего доступа для всего файлового пространства.

    Отображение свойств общего доступа к определенной папке.

    Если вы хотите массово создавать свои общие ресурсы, у нас есть пример сценария Powershell в наших советах и ​​рекомендациях по массовому созданию общих ресурсов.

    Читайте также: