Рейтинг:0

Как правильно настроить синхронизацию разрешений Unix с Samba SMB 3.1.1

флаг bj

В настоящее время у меня есть NAS для нашей семьи (под названием «Официантка»), на котором работает Debian 11 с Samba с использованием SMB 3.1.1. Он подключен к жесткому диску USB-SS емкостью 1 ТБ. У меня также есть машина Ubuntu, которая является моим собственным ноутбуком (под названием Rox). Цель состоит в том, чтобы использовать Waitress для хранения всех файлов в моем домашнем каталоге. Я делаю это, создавая общий ресурс Samba на официантке с файлами, хранящимися на внешнем жестком диске (отформатированном с помощью ext4). Затем на Rox я монтирую общий ресурс в /home/<мое имя пользователя>. У меня есть учетная запись на официантке с тем же именем пользователя и паролем, что и у моей учетной записи на Rox.

Функция синхронизации паролей Unix в Samba работает нормально, и я могу легко получить доступ к файлам, войдя в свою учетную запись на официантке через SMB. Проблема заключается в функции синхронизации разрешений Unix. Я не понимаю, почему моя конфигурация Samba и конфигурация fstab не выполняют синхронизацию разрешений должным образом, и я прошу помощи в этом аспекте.

Мой /etc/самба/smb.conf на официантку:

[Глобальный]

## Просмотр/идентификация ###

# Измените это на имя рабочей группы/NT-домена, частью которого будет ваш сервер Samba
   рабочая группа = mclean.net

#### Сеть ####

# Конкретный набор интерфейсов/сетей для привязки
# Это может быть либо имя интерфейса, либо IP-адрес/сетевая маска;
# имена интерфейсов обычно предпочтительнее
; интерфейсы = 127.0.0.0/8 eth0

# Привязка только к именованным интерфейсам и/или сетям; вы должны использовать
# опция 'interfaces' выше, чтобы использовать это.
# Рекомендуется включить эту функцию, если ваша машина с Samba
# не защищен брандмауэром или сам является брандмауэром. Однако это
# Опция не может правильно обрабатывать динамические или нешироковещательные интерфейсы.
; связывать только интерфейсы = да



#### Отладка/Учет ####

# Это говорит Samba использовать отдельный файл журнала для каждой машины
# который соединяет
   файл журнала = /var/log/samba/log.%m

# Ограничение размера отдельных файлов журнала (в КиБ).
   максимальный размер журнала = 1000

# Мы хотим, чтобы Samba записывалась только в /var/log/samba/log.{smbd,nmbd}.
# Добавьте syslog@1, если вы хотите, чтобы важные сообщения также отправлялись в syslog.
   регистрация = файл

# Сделайте что-нибудь разумное при сбое Samba: отправьте администратору трассировку
   действие паники = /usr/share/samba/действие паники %d


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

# Роль сервера. Определяет, в каком режиме будет работать Samba. Возможное
# значения: «автономный сервер», «рядовой сервер», «классический первичный сервер».
# контроллер домена", "классический резервный контроллер домена", "активный
# контроллер домена каталога". 
#
# Большинству людей нужен "автономный сервер" или "рядовой сервер".
# Запуск в качестве "контроллера домена Active Directory" потребует сначала
# запуск "samba-tool domain provision" для очистки баз данных и создания
# новый домен.
   роль сервера = автономный сервер

   подчиняться ограничениям pam = да

# Этот логический параметр определяет, будет ли Samba пытаться синхронизировать
# пароль с паролем SMB, когда зашифрованный пароль SMB в
# БД изменена.
   синхронизация паролей unix = да

# Чтобы синхронизация паролей Unix работала в системе Debian GNU/Linux, выполните следующие действия.
# параметры должны быть установлены (спасибо Ian Kahan <<[email protected]> за
# отправка правильного сценария чата для программы passwd в Debian Sarge).
   программа passwd = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Повторно введите\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

# Это логическое значение определяет, будет ли PAM использоваться для смены пароля.
# при запросе SMB-клиентом вместо программы, указанной в
# 'программа паролей'. По умолчанию "нет".
   изменение пароля pam = да

# Эта опция управляет отображением неудачных попыток аутентификации
# к анонимным соединениям
   сопоставление с гостем = плохой пользователь

########## Домены ###########

#
# Следующие настройки вступают в силу, только если 'роль сервера = классическая
# основной контроллер домена', 'роль сервера = классический резервный контроллер домена'
# или установлен "вход в домен" 
#

# Указывает расположение пользовательского
# директория профиля с точки зрения клиента) Следующее
# требуется, чтобы общий ресурс [profiles] был установлен на сервере samba (см.
# ниже)
; путь входа = \%N\profiles\%U
# Другим распространенным вариантом является сохранение профиля в домашнем каталоге пользователя.
# (это значение по умолчанию для Samba)
# путь входа = \%N\%U\profile

# Следующий параметр вступает в силу, только если установлен «вход в домен»
# Указывает расположение домашнего каталога пользователя (от клиентского
# точка зрения)
; входной диск = H:
# вход домой = \%N\%U

# Следующий параметр вступает в силу, только если установлен «вход в домен»
# Указывает сценарий для запуска при входе в систему. Скрипт должен быть сохранен.
# в папке [netlogon]
# ПРИМЕЧАНИЕ. Должен храниться в формате файла 'DOS'.
; сценарий входа = logon.cmd

# Это позволяет создавать пользователей Unix на контроллере домена через SAMR
# труба РПК. Команда примера создает учетную запись пользователя с отключенным Unix.
# пароль; Пожалуйста, адаптируйтесь к вашим потребностям
; добавить пользовательский скрипт = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u

# Это позволяет создавать учетные записи машин на контроллере домена через 
# Труба САМР ПКР.  
# Далее предполагается, что в системе существует группа "machines"
; добавить скрипт машины = /usr/sbin/useradd -g машины -c "%u учетная запись машины" -d /var/lib/samba -s /bin/false %u

# Это позволяет создавать группы Unix на контроллере домена через SAMR
# труба РПК.  
; сценарий добавления группы = /usr/sbin/addgroup --force-badname %g

############ Разное ############

# Использование следующей строки позволяет настроить конфигурацию
# для каждой машины. %m заменяется именем netbios
# машины, которая подключается
; включить = /home/samba/etc/smb.conf.%m

# Некоторые значения по умолчанию для winbind (убедитесь, что вы не используете диапазоны
# для чего-то другого.)
; Конфигурация idmap * : backend = tdb
; Конфигурация idmap *: диапазон = 3000-7999
; Конфигурация idmap ВАШ ДОМЕН ЗДЕСЬ: backend = tdb
; Конфигурация idmap YOURDOMAINHERE: диапазон = 100000-999999
; оболочка шаблона = /bin/bash

# Настройте параметры общего доступа, чтобы пользователи без полномочий root могли совместно использовать папки
# с помощью команды net usershare.

# Максимальное количество пользователей. 0 означает, что совместное использование пользователей отключено.
# максимальное количество пользователей = 100

# Разрешить пользователям, которым предоставлены привилегии общего доступа, создавать
# общедоступные ресурсы, а не только аутентифицированные
   usershare разрешить гостям = да

#======================= Определения общих ресурсов =======================

[Резервный сервер]
   расширения unix = да
   комментарий = резервный сервер
   path = /home/<мое имя пользователя>/жесткий диск/домашняя папка
   просмотр = да
   только чтение = нет
   запись = да

Мой /etc/fstab конфиг на роксе:

//<имя хоста официантки>/BackupServer /home/<мое имя пользователя> smb3 user=<мое имя пользователя>,unix,vers=3.1.1 0 0

Все файлы в домашнем каталоге официантки принадлежат моему пользователю и имеют права на чтение и запись для моего пользователя и моей группы. Это должно позволить им быть доступными из Rox. Однако в Rox разрешения показывают владельца и группу как root, а также разрешения rwxr-xr-x. Симлинки тоже не работают.Я ожидаю, что символические ссылки будут работать, файлы будут принадлежать мне, а разрешения rwxrwxr-x.

Nikita Kipriyanov avatar
флаг za
Не вижу смысла использовать Samba для подключения линукс.
Lennon McLean avatar
флаг bj
@NikitaKipriyanov Изначально я использовал SSHFS, но решил использовать SMB, потому что мне нужна встроенная поддержка Windows и MacOS. Это не просто Linux-боксы. Хотя я мог бы использовать Samba для MacOS и Windows и NFS для Linux и FreeBSD. Да, это то, что я сделаю.
Рейтинг:0
флаг bj

Я решил не использовать Samba для подключения своих компьютеров с Linux, потому что кажется, что он не предназначен для таких ситуаций, как моя. Я собираюсь продолжать использовать Samba для Windows и MacOS, но буду использовать NFS для Linux.

Ответить или комментировать

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