Назад | Перейти на главную страницу

Обновленная Fedora, теперь проблема с Samba: как правильно настроить Samba на Fedora Server 32?

Я заменил свой устаревший сервер на новый, совершенно новую сборку (так что, возможно, «замененный» будет более точным, чем «обновленный»), но, конечно, я собрал все старые файлы конфигурации и т.д., и единственную важную функцию, которую я не сделал Самба была.

Я работал над этим уже много дней и даже обновился сегодня до Fedora Server 5.7.11-200.fc32.x86_64 чтобы убедиться, что сейчас не исправлена ​​какая-то ошибка. Абсолютно никаких ошибок при установке или обновлении не было. И, как ни крути, существует около дюжины пакетов самбы:

samba-dc-provision-4.12.5-0.fc32.noarch
samba-test-libs-4.12.5-0.fc32.x86_64
samba-winbind-clients-4.12.5-0.fc32.x86_64
samba-libs-4.12.5-0.fc32.x86_64
samba-winbind-4.12.5-0.fc32.x86_64
samba-dc-bind-dlz-4.12.5-0.fc32.x86_64
samba-winbind-krb5-locator-4.12.5-0.fc32.x86_64
samba-common-tools-4.12.5-0.fc32.x86_64
samba-devel-4.12.5-0.fc32.x86_64
python3-samba-dc-4.12.5-0.fc32.x86_64
samba-dc-libs-4.12.5-0.fc32.x86_64
samba-vfs-cephfs-4.12.5-0.fc32.x86_64
python3-samba-4.12.5-0.fc32.x86_64
samba-krb5-printing-4.12.5-0.fc32.x86_64
samba-vfs-glusterfs-4.12.5-0.fc32.x86_64
samba-winbind-modules-4.12.5-0.fc32.x86_64
samba-client-libs-4.12.5-0.fc32.x86_64
samba-4.12.5-0.fc32.x86_64
samba-pidl-4.12.5-0.fc32.noarch
samba-client-4.12.5-0.fc32.x86_64
samba-common-libs-4.12.5-0.fc32.x86_64
samba-common-4.12.5-0.fc32.noarch
samba-dc-4.12.5-0.fc32.x86_64
samba-test-4.12.5-0.fc32.x86_64

Я пытался сделать домашнее задание, но не могу найти примеров чего-либо полезного в поисковых системах. Я пробовал больше содержимого файла конфигурации, чем могу вспомнить - конечно, МНОГИЕ десятки или сотня +, в зависимости от того, как вы считаете. Возможно, в наше время для меня не плодотворно публиковать различные файлы конфигурации, но для примера конфигурации, которая, как я надеялся, должна работать и предназначена для Fedora 32, см. Ссылку ниже. Однако старые данные конфигурации находятся ниже.

Сообщение об ошибке идентично независимо от того, что написано в файле конфигурации - по крайней мере, пока:

At this time the 'samba' binary should only be used for either:
  'server role = active directory domain controller' or to access the ntvfs file server with 'server services = +smb' or the rpc proxy with 'dcerpc endpoint servers = remote'
  You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks
[2020/08/02 15:48:33.190413,  0] ../../lib/util/become_daemon.c:121(exit_daemon)
  exit_daemon: daemon failed to start: Samba detected misconfigured 'server role' and exited. Check logs for details, error code 22

Конечно, это сначала идет из программы journalctl, а затем, идентично, из одного из журналов в / var / log / samba /, и после прочтения каждого из них, чтобы быть уверенным, никакой дополнительной информации оттуда не найти. , вопреки самодовольному предположению в сообщении.

Первое, что я сделал, - это попытался понять, что это пытается сказать:

Вместо этого вы должны запустить smbd / nmbd / winbindd для задач члена домена и автономного файлового сервера

Я старался изо всех сил следить за smbd, nmbd и winbindd, но нет, они не могут быть просто запущены, как было сказано, и, по-видимому, требуется докторская степень, чтобы выяснить, как с ними бороться в Fedora - или, может быть, я просто не понимаю, что я читаю, хотя я не новичок. Интересно, что после любой загрузки есть два процесса winbind:

/usr/sbin/winbindd --foreground --no-process-group

Но мои клиенты вообще не могут подключиться. И, насколько я могу понять, это контроллер домена, который нам в любом случае не нужен, и nmdb кажется NetBios инструмент, и я понятия не имею, как это помогает при передаче файлов Linux в Windows. А что касается smbd, ДА! Это звучит для всего мира как то, что мы использовали все эти годы! НО ... НИЧЕГО не нашел - даже попросил dnf установить! Нет, извините, это, к сожалению, недолговечно.

Чтобы прояснить это, я подумал ОБЯЗАТЕЛЬНО smbd было то, что нужно, но нет, ни одна из этих работ:

# systemctl start smbd
Failed to start smbd.service: Unit smbd.service not found.
# dnf install smbd
Last metadata expiration check: 1:27:03 ago on Mon 03 Aug 2020 08:08:24 AM PDT.
No match for argument: smbd
Error: Unable to find a match: smbd

Я был бы рад попробовать что-нибудь еще в этом направлении - предложения приветствуются! (Примечательно, что я пытался установить "samba *", думая, что, возможно, пакет отсутствует, а есть, samba-winexe-2:4.12.5-0.fc32.x86_64, так что, конечно, я его установил. systemctl start smbd по-прежнему ничего не сделал, но было изображение winexe добавлен, но у него нет справочной страницы и systemctl тоже ничего не сделал с этим. Тем не мение:

# winexe -h
winexe version 4.12
This program may be freely redistributed under the terms of the GNU GPLv3
Usage: winexe [OPTION]... //HOST[:PORT] COMMAND
Options:
  -h, --help                                  Display help message
  -V, --version                               Display version number
  -U, --user=[DOMAIN/]USERNAME[%PASSWORD]     Set the network username
  -A, --authentication-file=FILE              Get the credentials from a file
  -N, --no-pass                               Do not ask for a password
  -k, --kerberos=[yes|no]                     Use Kerberos
  -d, --debuglevel=DEBUGLEVEL                 Set debug level
      --uninstall                             Uninstall winexe service after
                                              remote execution
      --reinstall                             Reinstall winexe service before
                                              remote execution
      --runas=[DOMAIN\]USERNAME%PASSWORD      Run as the given user (BEWARE:
                                              this password is sent in
                                              cleartext over the network!)
      --runas-file=FILE                       Run as user options defined in a
                                              file
      --interactive=0|1                       Desktop interaction: 0 -
                                              disallow, 1 - allow. If allow,
                                              also use the --system switch
                                              (Windows requirement). Vista
                                              does not support this option.
      --ostype=0|1|2                          OS type: 0 - 32-bit, 1 - 64-bit,
                                              2 - winexe will decide.
                                              Determines which version (32-bit
                                              or 64-bit) of service will be
                                              installed.

Это интригует, но я не мог понять, что именно с этим делать и для чего. Итак, я двинулся дальше.

Затем я сосредоточился на очевидных изменениях, которые, как можно было подумать, могут сработать для «роли сервера», проверил документацию и потратил бесчисленные часы на поиск решения проблемы «роли сервера» в Интернете. Я перепробовал столько вариантов - не только «роли сервера», но и целых файлов конфигурации - я даже не могу вспомнить их все. И документация в основном кажется очень старой, но Я действительно думал, что это актуально, но никаких полезных результатов это не дало. Я очень старался, но я что-то упустил? МОЖЕТ БЫТЬ, я недостаточно разбираюсь в мире окон, чтобы знать, что они говорят? Могут ли, например, контроллеры домена обслуживать ТОЛЬКО каталоги, с которыми я знаком? Я думал, что это именно то, чего я НЕ хочу.

В обширном поиске в Интернете единственное, что близко можно найти здесь. Это для Fedora 32, но их пример для меня не работает - сервер не запускается ИЛИ не выдает полезные сообщения об ошибках.

Что нужно от самбы:

За 20 с лишним лет, когда здесь была установлена ​​Samba, она предоставляла отличные услуги, такие как NFS, обслуживая каталоги Linux для Windows-компьютеров в локальной сети, используя парадигму Workgroup. Домены НЕ нужны и вообще нежелательны, хотя поддержка принтеров была полезной. Система должна иметь доступ для чтения и записи, простую, но эффективную схему имени пользователя и пароля и достаточно хорошо соблюдать разрешения. Может быть, 24 года - я сбился с пути - Самба исполняла эту роль в этом магазине. И да, все системы старше, как Windows 7, и нас совсем не волнуют контроллеры домена - они кажутся довольно авторитарными и диктаторскими, нам ничего не нужно. (Или мы?)

Стоит добавить, что это только внутренняя сеть, и SE linux не является проблемой - сервер даже не запускается!

Итак, неужели простое обновление системы положит конец нашим отношениям с Samba и заставит нас, может быть, пересмотреть окна ?! (Это сводит с ума.)

СТАРАЯ КОНФИГУРАЦИЯ:

Комментатор Майкл Хэмптон хочет увидеть старую конфигурацию, хотя я не вижу уместности, так как я буду работать с ЛЮБЫМ файлом конфигурации, который позволяет запускать сервер, и просто повторно сделаю конфигурацию современным способом. Но для таких, как Мишал, пожалуйста - сначала система:

Server: 3.19.3-200.fc21.x86_64
Packages:
samba-winbind-4.1.17-1.fc21.x86_64
samba-client-4.1.17-1.fc21.x86_64
samba-libs-4.1.17-1.fc21.x86_64
system-config-samba-1.2.100-3.fc21.noarch
samba-common-4.1.17-1.fc21.x86_64
samba-winbind-modules-4.1.17-1.fc21.x86_64
samba-4.1.17-1.fc21.x86_64

Данные файла конфигурации - из testparm, как вы это делали в те дни:

Server role: ROLE_STANDALONE
[global]
        workgroup = OurWorkgroup
        server string = Samba Server Version %v
        log file = /var/log/samba/log.%m
        max log size = 50
        idmap config * : backend = tdb
        cups options = raw

[printers]
        comment = All Printers
        path = /var/spool/samba
        guest ok = Yes
        printable = Yes
        print ok = Yes
        browseable = No

[Share1]
        path = /opt/samba/Share1
        username = fred clara 
        write list = fred, clara
        read only = No

Немного, что вы не можете / не можете получить от testparm:

security = user
bassdb backend = tdbsam

ОК, все - больше ничего нет. И я больше НИЧЕГО не имею в виду в файле конфигурации. В файле конфигурации есть еще много комментариев, которые закомментированы, но, ну, они закомментированы!

По причинам, которые я не совсем понимаю, Fedora назвала модули systemd, запускающие smbd и nmbd smb и nmb соответственно. Для управления этими услугами используйте systemctl <command> smb (или nmb).

Я смог найти модули systemd, проверив содержимое RPM, а именно:

[root@localhost ~]# rpm -ql samba | grep systemd/system
/usr/lib/systemd/system/nmb.service
/usr/lib/systemd/system/smb.service

Кажется, вы пытаетесь запустить Samba AD DC, но smb.conf не для DC, вероятно, для отдельного сервера. Попробуйте 'systemctl start smbd'