В настоящее время у меня есть 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.