我有一台运行Samba
的Debian
计算机。 我从另一台运行Windows 7
计算机访问服务器。 作为客人,我可以列出共享为只读,强制用户等。但我不能使用任何凭据访问samba服务器。 我只有\\ IP \存储不可访问 。
这是我的configuration:
*用户以真实用户身份存在
* samba作为security = user
运行
*我已经添加用户与smbpasswd -a user
*日志不显示任何错误
* testparm显示以下内容:
[global] server string = %h server interfaces = 127.0.0.0/8, eth1 bind interfaces only = Yes map to guest = Bad User obey pam restrictions = Yes pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . unix password sync = Yes syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No usershare allow guests = Yes panic action = /usr/share/samba/panic-action %d idmap config * : backend = tdb [homes] comment = Home Directories valid users = %S read only = No create mask = 0700 directory mask = 0700 browseable = No [printers] comment = All Printers path = /var/spool/samba create mask = 0700 printable = Yes print ok = Yes browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/printers [cdrom] comment = Samba server's CD-ROM path = /cdrom guest ok = Yes locking = No [allusers] comment = Access to all users path = /home/samba-all-users valid users = @sambashare force group = sambashare read only = No create mask = 0770 directory mask = 0771 [guest] comment = Read/Write Guest Account Access path = /home/samba-guest force group = sambashare read only = No create mask = 0775 directory mask = 0775 guest only = Yes guest ok = Yes [storage] comment = Music path = /home/daniel/storage
注意:
*桑巴版本是3.6.6
*客户端正在运行Windows 7家庭高级版
*我在这台电脑上有一个iptables的防火墙,但是在这些testing的时候只做了ICS。 所有规则都默认设置为ACCEPT。
Windows 7networking客户端默认需要数据包签名(以防止中间人攻击),Samba默认禁用数据包签名。 这可能是您的客户端和服务器无法就此项目进行相互协商。 所以你可以用两种方法之一来解决它。
服务器端解决scheme:在Samba上启用数据包签名
将以下内容添加到您的smb.conf中:
server signing = auto
重新启动服务,然后重试。
你也可以尝试mandatory
而不是auto
。 在这里阅读文档。
客户端解决scheme:禁用Microsoftnetworking客户端上的数据包签名
首先,打开本地组策略编辑器:
gpedit.msc
,然后按Enter键 在本地组策略编辑器中,转到:
Local Computer Policy-> Computer Configuration-> Windows Settings-> Security Settings-> Local Policies-> Security Options
find政策:
Microsoft network client: Digitally sign communications (always)
如果启用,请将其更改为禁用。 按应用,重新启动计算机,然后重试。
您可能会检查超级用户可能的解决scheme类似的问题( https://superuser.com/questions/699240/windows-7-laptop-cant-reliably-connect-to-my-linux-smb-shared-directory/699273# 699273 )
这里是我的工作configuration(在OpenSUSE 11,3 smbd版本3.5.4-5.11.1-2573-SUSE-SL11.3):
[global] workgroup = WORKGROUP passdb backend = tdbsam printing = cups printcap name = cups printcap cache time = 750 cups options = raw map to guest = Bad User include = /etc/samba/dhcp.conf logon path = \\%L\profiles\.msprofile logon home = \\%L\%U\.9xprofile logon drive = P: usershare allow guests = no domain logons = Yes domain master = Yes security = users wins support = No hosts allow = 192.168.0.* [personal_projects] inherit acls = No path = /data_storage/personal_projects read only = No admin users = backupcat available = Yes browseable = Yes comment = Komodo projects guest ok = No hosts allow = 192.168.0.* valid users = @users write list = @users
尝试与您的configuration。
也许是一个很长的,但idmapconfiguration*调用winbind,你的nsswitch.conf怎么看? 特别是关于passwd的行:
如果您还没有进一步阅读,请参考此处: http : //www.samba.org/samba/docs/man/manpages-3/winbindd.8.html
问候