编辑:我试图简化这个问题:
=============================================================================== 除了已经具有访问权限的 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 响应”
很抱歉浪费了你的时间。
如果版主愿意的话,他可以删除我的问题和答案。