我的机器上安装了 Ubuntu Intrepid 和 Samba。我有一个基本的配置文件,如下所示。
当我尝试调用
smbclient -L localhost
我收到错误:
NT_STATUS_CONNECTION_REFUSED
尝试调用时也会发生这种情况smbpasswd
。
导致此错误的可能原因有哪些?
当我同时运行两者时:
iptables -L
iptables -t nat -L
它们都是空的。
这是我的配置文件(运行testparm
报告表明一切正常):
[global]
workgroup = MSHOME
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
encrypt passwords = true
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
usershare allow guests = yes
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
答案1
我没有看到接口定义。我认为您的问题是服务根本没有绑定到环回地址,因此当您连接时,您会被拒绝。
尝试将其添加到 smb.conf 文件的 [global] 部分:
interfaces = ${your-ip-address}/{your-subnet-in-dotted-quad} 127.0.0.1/255.0.0.0
答案2
服务器甚至没有运行。
在 Ubuntu 9.04 中,init.d 脚本似乎已损坏。
如果/etc/default/samba
配置文件有:
RUN_MODE="inetd"
设置,则 init.d 脚本将无法启动smbd
。因此只需将变量设置为:
RUN_MODE="daemons"
或者完全删除该文件,它就可以正常工作。