加入 AD 和 SSSD 几天后无法以本地用户身份连接到 Samba 成员服务器

加入 AD 和 SSSD 几天后无法以本地用户身份连接到 Samba 成员服务器

编辑:我试图简化这个问题:

=============================================================================== 除了已经具有访问权限的 AD 用户之外,我如何才能让本地(linux/samba)用户访问 samba 共享(成员服务器)?

问题是我的 samba 总是要求 DC 进行用户身份验证,而从不尝试使用 passwd/smbpasswd 来验证用户身份。

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

这是一个又老又长的问题:

我设法在 Ubuntu 18.04 上建立了 Samba 4 服务器。

我的步骤:

  • 驱动器使用“user_xattr acl”安装
  • 主机名设置为例如 myserver
  • ipv6 已禁用
  • 使用 netplan 正确设置了 ipv4 静态 ip
  • /etc/hosts 中唯一的条目是“127.0.0.1 localhost”
  • timesync 已配置并正在运行
  • 已安装:krb5-用户 samba sssd sssd-tools
  • 创建了一个 AD 组(编辑:在 Windows Server 2008 DC 上),例如 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,forwardable,proxiable,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 join -U 加入域名[电子邮件保护]' 成功了

  • 'getent passwd' 和 'getent group' 分别列出本地用户和域用户组
  • 我使用以下命令添加了本地用户(例如 lu):“adduser --home /dev/null --shell /bin/true --gecos "" lu”
  • 然后我使用相同的密码创建了一个 samba 用户“smbpasswd lu”
  • 我像这样设置了共享的权限(如果您想知道组比用户拥有更多权限,请参见下面 smb.conf 中的“acl group control = yes”条目):

    chown -R lu:@[email protected] /sambashare/One
    chown -R lu:@[email protected] /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", @[email protected]
            create mask = 570
            directory mask = 570
            writeable = no
            write list = @[email protected]
    [Two]
            path = /sambashare/Two
            valid users = "lu", @[email protected]
            create mask = 770
            directory mask = 770
            writeable = yes
    

一周以来,一切正常,但现在本地用户“lu”无法再访问共享。域用户可以正常访问共享。本地权限仍然相同:目录权限为“drwxrwx---+”,lu 权限为“-r-xrwx---+”:[电子邮件保护]

有人能告诉我如何让本地用户再次访问共享吗?

答案1

好吧,这是我的错。配置确实在工作,而且几天后也没有停止工作,但我做出这种假设是相当愚蠢的,因为我看到其他机器也存在问题。它仍然在我首先测试的机器上工作。

具有已更改的安全策略(与默认策略不同)的 Windows 机器无法使用本地帐户进行连接。

设置在这里:

在 secpol.msc 的“安全选项”下:

“网络安全:LAN 管理器身份验证级别”

当我将其设置为:它就开始工作了:

“仅发送 NTLMv2 响应”

很抱歉浪费了你的时间。

如果版主愿意的话,他可以删除我的问题和答案。

相关内容