Отказано в доступе к общему каталогу на Ubuntu 18.04

Вопрос или проблема

У меня есть странная проблема с правами доступа к файлам в Ubuntu. У меня установлен новый сервер Ubuntu, и я смонтировал общий диск. sudo mount //Hostname:ifs/path/to/directory/file /mnt/my directory. Диск был успешно смонтирован, но каждый раз, когда я пытаюсь зайти в любую из общих папок, появляется сообщение “Доступ запрещен”. Если я использую sudo su – “root”, все работает идеально. Но моя задача заключается в том, что стандартный пользователь должен иметь возможность доступа к файлам так же, как и root, потому что мы запускаем определенные приложения стандартным пользователем, которые в конечном итоге записывают по адресу “Смонтированный общий диск”.

Я пробовал следующие команды: – chown -v myuser:myuser /mnt/shared-drive
chmod -R 755 /mnt/shared-drive
chown -v myuser:myser /mnt/shared-drive

Команда chmod зависает, так как данные на общем диске очень объемные, и Ubuntu пытается предоставить полные права доступа. Объем данных составляет около 5 ТБ. Теперь даже если я выполню chmod для общей директории и получу права на запись, когда я создаю директорию и пытаюсь в нее войти, появляется сообщение “Доступ запрещен”.

Если я скопирую одну из папок с общего диска на локальный, ошибка остается той же, и мне нужно выполнить chown -v myuser:myser /скопированное имя папки, тогда все работает, но я не могу делать это вручную, так как это будет выполняться моим приложением.

Я проверял с владельцем общего диска, и он сказал, что права доступа уже полностью назначены и должны работать без проблем. Я здесь застрял, ребята. Нужна ваша помощь.

Спасибо!

Я предлагаю вам использовать sshfs для совместного использования директорий.

С теми же данными пользователя/пароля на двух машинах, вот как я это делаю:

Обмен файлами с помощью sshfs:

  • 1) Установите sshfs: sudo apt-get install sshfs
  • 2) Смонтируйте директорию: sshfs <remote_host>:<dir> <local_dir>
  • 3) Размонтируйте директорию: fusermount -u <local_dir>

Вы можете настроить sshfs таким образом, чтобы при использовании не требовалось вводить пароль.

Я смонтировал общий диск. sudo mount
//Hostname:ifs/path/to/directory/file /mnt/my directory.

Если вы не указали никаких других опций, которые смонтируют удалённый общий ресурс с владельцем = root и правами на запись только для root. CIFS является виртуальной файловой системой, поэтому chown и chmod не будут работать.

Заберите право собственности на смонтированный общий ресурс в команде монтирования:

sudo mount -t cifs //hostname/sharename /mnt/my-directory -o uid=myuser

Ответ или решение

Ошибка "Permission Denied" при доступе к общей папке в Ubuntu 18.04

Если вы столкнулись с проблемой доступа к смонтированной общей папке в Ubuntu 18.04 с сообщением "Permission Denied", когда пытаетесь получить доступ к ней от имени стандартного пользователя, это может быть вызвано тем, как вы смонтировали общий ресурс. В этой статье мы рассмотрим детали проблемы и предложим решения, которые помогут настроить доступ к вашей общей папке.

Понимание проблемы

Вы указали, что общий ресурс был смонтирован с использованием команды:

sudo mount //Hostname:ifs/path/to/directory/file /mnt/my-directory

При этом, если вы используете sudo su -, доступ к папкам работает без проблем. Это указывает на то, что права доступа для стандартных пользователей настроены неправильно.

Причины возникновения проблемы

  1. Проблемы с правами доступа CIFS: CIFS (Common Internet File System) не позволяет использовать команды chown или chmod для изменения прав доступа к смонтированным папкам. Права на смонтированные каталоги могут наследоваться от серверной стороны.

  2. Свойства монтирования: По умолчанию, если вы не указали параметры монтирования, общий ресурс обычно монтируется с правами пользователя root, а доступ к нему имеют только пользователи с соответствующими правами (например, root).

Решение проблемы

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

  1. Замена команды монтирования:

    Измените команду монтирования следующим образом, чтобы указать пользователя и его UID:

    sudo mount -t cifs //hostname/sharename /mnt/my-directory -o uid=myuser,gid=myuser

    Здесь myuser — это имя вашего стандартного пользователя. Таким образом, права на смонтированную папку будут назначены этому пользователю.

  2. Повторное монтирование:

    Если общий ресурс уже смонтирован, вам нужно его размонтировать перед повторным монтированием:

    sudo umount /mnt/my-directory
  3. Использование файла /etc/fstab для автоматического монтирования:

    Если вы хотите, чтобы общий ресурс монтировался автоматически после перезагрузки, добавьте его в файл /etc/fstab:

    //hostname/sharename /mnt/my-directory cifs uid=myuser,gid=myuser,credentials=/path/to/credentials/file 0 0

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

    /path/to/credentials/file:
    username=myuser
    password=mypassword
  4. Настройка прав доступа:

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

Заключение

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

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

Оцените материал
Добавить комментарий

Капча загружается...