Не удается подключиться к рядовому серверу samba в качестве локального пользователя через несколько дней после присоединения AD и SSSD

Изменить: я попытался упростить вопрос:

================================================== ======================= Как я могу разрешить локальному (linux/samba) пользователю доступ к общему ресурсу samba (рядовой сервер) помимо пользователей AD, какие уже есть доступ?

Проблема в том, что моя samba всегда запрашивает аутентификацию пользователя у DC и никогда не пытается аутентифицировать пользователя, используя passwd / smbpasswd.

================================================== =======================

Вот старый, длинный вопрос:

мне удалось настроить сервер Samba 4 на Ubuntu 18.04.

Мои шаги:

  • Диск монтируется с "user_xattr acl"
  • Имя хоста установлено, например, myserver
  • ipv6 отключен
  • ipv4 static ip установлен правильно с netplan
  • единственная запись в /etc/hosts - "127.0.0.1 localhost"
  • Timesync настроен и работает
  • Установлено: пользователь krb5 samba sssd sssd-tools
  • создал группу AD (редактирование: на DC Windows Server 2008), например, g_fileserver_rw и присоединил учетные записи AD к группе
  • /etc/krb5.conf

    [libdefaults]
       default_realm = INTDOM.TLD
       ticket_lifetime = 24h #
       renew_lifetime = 7d
    # The following krb5.conf variables are only for MIT Kerberos.
       kdc_timesync = 1
       ccache_type = 4
       forwardable = true
       proxiable = true
    # The following libdefaults parameters are only for Heimdal Kerberos.
       fcc-mit-ticketflags = true
    [realms]
    [domain_realm]
       .intdom.tld = INTDOM.TLD
       intdom.tld = INTDOM.TLD
    

    У меня есть вопрос о понимании здесь: параметры "kdc_timesync, ccache_type, пересылаемый, проксируемый, fcc-mit-ticketflags" необходимы или неблагоприятны?

  • /etc/sssd/sssd.conf, режим 600

    [sssd]
    services = nss, pam
    config_file_version = 2
    domains = MC.DE
    
    [domain/MC.DE]
    id_provider = ad
    access_provider = ad
    
    # edit: this is actually not used
    override_homedir = /home/%d/%u
    
    # edit: I need this, performance not an issue in my env.
    enumerate = true
    
  • /etc/nsswitch.conf

    passwd:         compat systemd sss
    group:          compat systemd sss
    shadow:         compat sss
    gshadow:        files
    
    hosts:          files dns
    networks:       files
    
    protocols:      db files
    services:       db files sss
    ethers:         db files
    rpc:            db files
    
    netgroup:       nis sss
    sudoers:        files sss
    
  • Присоединение к домену с присоединением "net ads -U admin@INTDOM.TLD" прошло успешно

  • ′Getent passwd´ и "getent group" перечисляют локальных и доменных пользователей соответственно группам
  • Я добавил локального пользователя (например, lu) с помощью этой команды: "adduser --home /dev/null --shell /bin/true --gecos ""lu"
  • затем я создал пользователя samba с помощью "smbpasswd lu", используя тот же пароль
  • Я установил права на общие ресурсы следующим образом (если вам интересно, что у группы больше прав, чем у пользователя, см. Запись "acl group control = yes" в файле smb.conf ниже):

    chown -R lu:@g_fileserver_rw@INTDOM.TLD /sambashare/One
    chown -R lu:@g_fileserver_rw@INTDOM.TLD /sambashare/Two
    chmod u-w,g+w,o-rwx /sambashare/One
    chmod g+w,o-rwx /sambashare/Two
    
  • /etc/samba/smb.conf

    [global]
       workgroup = INTERNAL
    # Entries recommended in Ubuntu-Wiki:
            log level = 0
            client signing = yes
            client use spnego = yes
            kerberos method = secrets and keytab
            realm = INTDOM.TLD
            security = ads
    # End of Ubuntu-Wiki-entries
    # My entries
    restrict anonymous = 2
    acl group control = yes
    inherit acls = yes
    inherit owner = yes
    inherit permissions = yes
    vfs objects = acl_xattr
    deadtime = 15
    store dos attributes = yes
    domain master = no
    local master = no
    preferred master = no
    os level = 0
    idmap config * : backend = tdb
    idmap config * : range = 1000-199999
    idmap config MC.DE : backend = sss
    idmap config MC.DE : range = 200000-2000200000
    # End of my entries
       server string = %h server (Samba, Ubuntu)
       wins server = <WINS-Server IP Address>
       dns proxy = no
       log file = /var/log/samba/log.%m
       max log size = 1000
       syslog = 0
       panic action = /usr/share/samba/panic-action %d
       server role = member server
       passdb backend = tdbsam
       obey pam restrictions = yes
       passwd program = /usr/bin/passwd %u
       passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
       map to guest = bad user
    [One]
            path = /sambashare/One
            valid users = "lu", @g_fileserver_rw@INTDOM.TLD
            create mask = 570
            directory mask = 570
            writeable = no
            write list = @g_fileserver_rw@INTDOM.TLD
    [Two]
            path = /sambashare/Two
            valid users = "lu", @g_fileserver_rw@INTDOM.TLD
            create mask = 770
            directory mask = 770
            writeable = yes
    

В течение недели все работало нормально, но теперь локальный пользователь "lu" больше не может получить доступ к общим ресурсам. Пользователи домена могут получить доступ к общим ресурсам в обычном режиме. Локальные права остаются прежними: "drwxrwx---+" для каталогов и "-r-xrwx---+" для lu:g_fileserver_rw@INTDOM.TLD.

Может кто-нибудь сказать мне, как разрешить локальному пользователю снова получить доступ к общим ресурсам?

1 ответ

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

Компьютеры с Windows, которые имели измененную политику безопасности (отличную от стандартной), не могли подключиться с использованием локальной учетной записи.

Настройка здесь:

В разделе "Параметры безопасности" в secpol.msc:

"Сетевая безопасность: уровень аутентификации LAN Manager"

он начал работать, как только я установил:

"Отправлять только NTLMv2 ответ"

Мне жаль, что я потратил впустую ваше время.

Мод может снять мой вопрос и ответить всем вместе, если он так считает.

Другие вопросы по тегам