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

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

Чтобы защитить данные на моем веб-сервере, я переместил PHP include в папку /var/www-includes (за пределами /var/www, корня сервера). Я также запустил chown root:wwwadminи chmod 770в этой папке. Когда я запускаю ls -ldв папке, он проверяет настройки: drwxrwx--- ... root wwwadmin ... www-includesХотя я могу перейти в папку из моего основного пользователя (adam), который является членом wwwadmin, я не могу просмотреть ее содержимое в графическом файловом браузере. Есть идеи, почему? Редактировать: Кроме того, при попытке редактировать содержащиеся файлы в nano он показывает мне сообщение об ошибке: Error reading /home/adam/.nano_history: Permission denied затем открывает содержимое файла. Имеет ли это какое-либо отношение к тому, что может происходить?

решение1

Возможно, очевидный вопрос, но... вы также изменили разрешения файлов внутри каталога? Другими словами, вы использовали флаг "-r" (рекурсивный) при выполнении команд chown/chmod?

решение2

Может быть, это не ответ (поскольку в посте недостаточно информации), но я могу его исправить, если нужно. Когда я проходил курсы обучения Linux, я разработал способ быстрого поиска проблемы с разрешениями. Я знаю, что вы уже выполнили некоторые шаги, но мне нужно записать их полностью для полноты картины.

  1. Переключитесь на пользователя, которого вы хотите использовать для доступа. Сделайте это прежде, чем делать что-либо еще.
  2. Используйте idкоманду для проверки текущего UID и групп. Используйте id name-of-the-userдля проверки конфигурации на диске. Выйдите из системы и войдите снова, если они отличаются, и проверьте снова.
  3. Используйте 'ls -l' для проверки целевого каталога. Не забудьте проверить символ сразу после разрешений. Может быть точка, означающая наличие контекста selinux, или может быть знак плюс, означающий, что установлены списки ACL Linux.
  4. Используйте «cd», чтобы войти в каталог.
  5. Выполнить необходимые действия над обычными файлами. Использовать touchдля проверки доступа на запись, catдля проверки доступа на чтение.
  6. Проверьте, все ли работает так, как ожидается на уровне приложения (например, используйте браузер для доступа к URL-адресу, который должен привести к соответствующему действию, используйте ваш любимый инструмент редактирования, который ранее не работал, и т. д.)
  7. Добавьте любую из вышеперечисленных проверок на уровень приложения.

Если какое-либо действие не удается и вы не знаете почему, проверьте журналы на наличие предупреждений selinux или чего-то подобного. Вы также можете попробовать добавить prepend strace -o strace.logк командной строке, а затем проверить strace.log на наличиедоступ запрещенсообщения. Но это все черная магия, пока вы не узнаете точную причинудоступ запрещен.

Связанный контент