这是一个测试环境 - Fedora 19 已更新 - Windows Server 2012 仅具有 AD 和 DNS
在 Fedora 19 上安装 SAMBA 服务器作为域成员后(由 Windows Server 2012(AD、DNS)管理)我无法访问 Windows 客户端计算机上的共享。在 Windows 7 客户端上,我可以看到 SAMBA 服务器,但无法访问它。我没有收到任何提示,只有错误。
通过在 Fedora 机器上安装 samba 共享,我可以访问它并且权限似乎有效。
我已经花了 3 天时间才找到解决方案,但我不知道这是 Samba 配置的问题还是 Windows 客户端的问题
一些帮助将会很棒!
以下是我的做法:
yum install samba samba- winbind vim samba- winbind -client krb5-workstation krb5 -libs krb5 -auth -dialog
我创建了用户和组然后通过以下方式添加到 samba:
pdbedit -a User1
通过 kerberos 连接到 Windows 域的初始化已顺利完成:
kinit [email protected]
klist
我将 Samba 服务器加入了 Active Directory 域
net rpc join -U administrator
wbinfo -u & wbinfo -g
返回正确的信息
getent passwd & getent group
也返回正确的信息
配置文件:
/etc/hosts
127.0.0.1 localhost localhost.localdomain SRVFEDORA.SILECKS SRVFEDORA
/etc/resolv.conf
nameserver 192.168.1.200
/etc/krb5.conf已进行相应编辑
/etc/samba/smb.conf
[global]
security = ADS
realm = SILECKS.FR
workgroup = SILECKS
winbind separator = +
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
winbind use default domain = yes
domain master = no
local master = no
prefered master = no
os level = 0
[homes ]
comment = Repertoire users
browseable = no
writeable = yes
[ Sharing ]
path = / share
browseable = yes
writeable = yes
printable = no
valid users = Administrator User1
[ public ]
Public comment = Repertoire
path = /public
public = yes
writeable = yes
printable = no
Nsswitch 配置
passwd : compat winbind
shadow: compat
group: compat winbind
# hosts: db files nisplus nis dns
hosts: files dns
bootparams : files
ethers : db files
netmasks : files
networks: files dns
protocols : db files
rpc : db files
services : db files
netgroup : files
# publickey : nisplus
automount : files
aliases : files
答案1
经过几天的研究,我找到了解决方案。
考虑到这是测试环境,服务器和客户端windows上的防火墙都关闭了。在Fedora19上运行的SAMBA,我删掉了iptables,但没有防火墙。(我完全不知道它的存在……)
在 Windows 下,我还必须更改一些注册表项:
HKLM\SYSTEM\CurrentControlSet\服务\LanmanWorkstation\参数\DomainCompatibilityMode = 1
HKLM\SYSTEM\CurrentControlSet\服务\LanmanWorkstation\参数\DNSNameResolutionRequired = 0
HKLM\SYSTEM\CurrentControlSet\服务\LanmanWorkstation\参数\RequireSecureNegociate = 0
希望这对某人有帮助。
答案2
我对此很陌生,为此苦苦挣扎了几个小时。但我解决这个问题的方法是将我的 UNIX 用户转换为 Samba 用户。这立即解决了问题