Проблема с разрешениями общего доступа к файлам Samba

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

У меня есть небольшой вопрос по поводу Samba share. Я недавно построил сервер на Ubuntu и переместил все свои предыдущие Windows NTFS HDD в сервер. Моя цель — поделиться всеми 4 HDD для использования на моих других Windows машинах и для обмена через Plex media server. Я поделился доступом к HDD через Ubuntu, но не могу изменить разрешения, и даже при попытке вручную настроить через smb.conf, у меня не получается успешно изменить разрешения. Я прикрепил то, что настроил в smb.conf. Любая помощь будет очень признательна. Вот остальная часть smb.conf для справки.

[global]

   workgroup = WORKGROUP
   server string = %h server (Samba, Ubuntu)
   wins support = yes
   dns proxy = no

   log file = /var/log/samba/log.%m
   max log size = 1000

   syslog = 0
   panic action = /usr/share/samba/panic-action %d

####### Аутентификация #######

  security = user
  encrypt passwords = true
  passdb backend = tdbsam
  obey pam restrictions = yes
  unix password sync = yes

  passwd program = /usr/bin/passwd %u
  passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n     *password\supdated\ssuccessfully* .

  pam password change = yes

  map to guest = bad user

#======================= Определения общего доступа =======================

  realm = localdomain
  server role = domain controller
  server services = +smb -s3fs
  dcerpc endpoint servers = -winreg -srvsvc
[printers]
  comment = Все принтеры
  browseable = no
  path = /var/spool/samba
  printable = yes
  guest ok = no
  read only = yes
  create mask = 0700

[print$]
  comment = Драйверы принтеров
  path = /var/lib/samba/printers
  browseable = yes
  read only = yes
  guest ok = no

# Общие папки Росса
[share]
    comment = home
    path = /home/roce/Downloads
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0777

[share]
    comment = SDB - Data
    path = /home/roce/Data
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0777

[share]
    comment = SDC - Movies
    path = /home/roce/Movies
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0777

[share]
    comment = SDD - TV Shows
    path = /home/roce/TV Shows
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0777

[share]
    comment = SDE
    path = /home/roce/Data
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0777

[sysvol]
  path = /var/lib/samba/sysvol
  read only = no

[netlogon]
  path = /var/lib/samba/sysvol/localdomain/scripts
  read only = no

Ваши системные разрешения также должны позволять доступ (система > samba). Для NTFS, разрешения определяются способом его монтирования. Попробуйте:

sudo umount /desired/path
sudo mount -t ntfs -o rw,auto,user,fmask=0022,dmask=0000,exec /dev/desired/path /mnt/desired/path

Из man-страницы для mount: “По умолчанию, файлы принадлежат root и не доступны для чтения кем-либо другим.” Вы также можете попробовать ntfs3g: http://manpages.ubuntu.com/manpages/oneiric/man8/ntfs-3g.8.html#contenttoc, но, возможно, лучшим вариантом будет изменить ваш fstab, используя опцию permissions:

sudo umount /desired/path
sudo blkid
sudo gedit /etc/fstab

Команда blkid нужна, чтобы найти UUID раздела. Отредактируйте запись в fstab вот так:

    # измените "UUID" на UUID вашего раздела
    UUID=12102C02102CEB83 /media/windows ntfs-3g auto,users,permissions 0 0

Наконец, создайте точку монтирования и смонтируйте внешний жесткий диск:

sudo mkdir /media/windows
mount /media/windows

Опция “auto” автоматически смонтирует раздел при загрузке, а опция “users” позволит пользователям монтировать и размонтировать. Если бы это не был диск NTFS, вы могли бы попробовать это из терминала:

sudo chmod -R 775 /desired/path

Источник: Как использовать ‘chmod’ на разделе NTFS (или FAT32)?

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

Конфигурация и его настройка является важной частью работы с Samba-сервером, особенно когда речь идет о доступе к файлам, расположенным на дисках, ранее использованных под Windows с файловой системой NTFS. Давайте подробно рассмотрим решение вашей задачи.

Теория (Theory)

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

Когда вы имеете дело с дисками, отформатированными в NTFS, важным моментом является то, как эти диски монтируются. NTFS, по умолчанию, обрабатывает права доступа иначе, чем родные Linux файловые системы. Поэтому для полноценной работы через Samba необходимо настроить монтирование так, чтобы обеспечить доступ к файлам с необходимыми правами.

Пример (Example)

Ваша установка Samba-конфигурации хорошо освещает основные параметры, включая рабочую группу и параметры аутентификации. Однако в разделе «Share Definitions» требуется настройка уникальных имен для каждого ресура, что улучшит идентификацию и решение конфликтов:

[downloads]
    comment = Home Downloads
    path = /home/roce/Downloads
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0777

[data]
    comment = SDB - Data
    path = /home/roce/Data
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0777

[movies]
    comment = SDC - Movies
    path = /home/roce/Movies
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0777

[tvshows]
    comment = SDD - TV Shows
    path = /home/roce/TV Shows
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0777

[sde]
    comment = SDE
    path = /home/roce/Data
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0777

Также имеет значение правильное монтирование NTFS-дисков. Рекомендуется использование ntfs-3g, который лучше обрабатывает права доступа и поддерживает FUSE.

Применение (Application)

  1. Монтирование дисков NTFS:

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

    Запустите команды:

    sudo umount /ваш/путь
    sudo mount -t ntfs-3g -o rw,auto,user,fmask=0022,dmask=0000,exec /dev/ваш/раздел /mnt/ваш/путь

    Обратите внимание на использование ntfs-3g, который обеспечивает лучшее взаимодействие с Samba.

  2. Настройка fstab для автоматического монтирования:

    Используйте blkid для нахождения UUID вашего раздела, затем добавьте или измените запись в /etc/fstab следующим образом:

    UUID=your_partition_UUID /media/ntfs-drive ntfs-3g auto,users,permissions 0 0

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

  3. Настройка прав доступа на уровне файловой системы:

    Убедитесь, что сами файлы и каталоги имеют нужные права доступа. Это может быть достигнуто с помощью:

    sudo chmod -R 775 /path/to/mount

    Если это изменение насыщается для Linux, то в NTFS случае важно монтирование с корректными параметрами, которые вы использовали выше.

  4. Проверка конфигурации Samba:

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

    sudo systemctl restart smbd
    sudp systemctl restart nmbd

Эти шаги помогут разрешить проблему с правами доступа через Samba и обеспечить успешное применение изменений для общения между Ubuntu сервером и клиентами Windows. Убедитесь, что права пользователя Samba соответствуют ролевым ожиданиям, установленным вами на уровне файловой системы.

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

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