我在 HTPC 上运行 XBMCBuntu 12.10,服务器主机名为“ SCREEN
”,并尝试设置 Samba 以允许访问名为“ Movies
”的共享,方法是将用户名/密码凭据映射到 unix 用户帐户(我不想允许访客访问)。用户的名称是“ user
”。我能够通过 UNC 路径\\192.168.1.103
或通过从我的 Windows 7 PC 登录到 samba 服务器\\SCREEN
。系统提示我输入用户名和密码,输入后,系统接受。(我通过进行设置smbusers
,通过映射密码passwd
。)我知道安全设置是正确的,因为如果我在提示符下使用不正确的凭据,系统会给出错误。
问题是我看不到我在 smb.conf 中定义的共享文件夹。即,我在 Explorer 中只看到一个空白窗口,没有任何错误。如果我尝试通过 直接浏览共享\\192.168.1.103\Movies
,它只会显示“Windows 无法访问 \192.168.1.103\Movies - 错误代码:0x80070035 未找到网络路径。”。我还有一些其他可能相关的观察结果:
- /etc/samba/smb.conf 中的配置文件是空白的。似乎适用的配置文件在 /usr/share/samba/smb.conf 中。
sudo testparm -s smb.conf > smb.conf.good
失败-bash: smb.conf.good: Permission denied
- /var/log/samba/log.smbd 似乎不包含任何错误:
[2013/12/20 21:35:28, 0] smbd/server.c:1053(main)
smbd version 3.6.6 started.
Copyright Andrew Tridgell and the Samba Team 1992-2011
[2013/12/20 21:35:28.852983, 0] smbd/server.c:1109(main)
standard input is not a socket, assuming -D option
我的smb.conf:
[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
username map = /usr/share/samba/smbusers
usershare prefix deny list = /
encrypt passwords = no
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
[Movies]
path=/home/user/Movies
browseable = yes
guest ok = no
read only = no
create mask = 0777
directory mask = 0777
writeable = yes
valid users = user
答案1
问题是配置文件 /etc/samba/smb.conf 是空白的。我用 /usr/share/samba/smb.conf 中的配置文件覆盖了它,然后重新启动了 Samba:
sudo cp /usr/share/samba/smb.conf /etc/samba/smb.conf
现在我遇到了一个不同的问题(身份验证),但我将单独对该问题进行故障排除,并可能发布一个新问题。