很奇怪的是启动samba
./smbd -D
./nmbd -D
发现进程都在,但是还是无法连接到samba服务器
查看log.smbd
检查日志
[2006/08/10 23:12:37, 0] smbd/server.c:main(798)
smbd version 3.0.14a started.
Copyright Andrew Tridgell and the Samba Team 1992-2004
[2006/08/10 23:12:37, 0] printing/pcap.c:pcap_cache_reload(149)
Unable to open printcap file /etc/printcap for read!
不能读取/etc/printcap 文件
检查当前环境确实没有该文件,因为现在没有安装打印机,先创建一个空文件给它
echo "" > /etc/printcap
这样就ok了
对于遇到
Feb 21 15:09:21 alarmpi smbd[2155]: [2014/02/21 15:09:21.561919, 0] ../source3/lib/util_sock.c:423(open_socket_in)
Feb 21 15:09:21 alarmpi smbd[2155]: open_socket_in(): socket() call failed: Address family not supported by protocol
Feb 21 15:09:21 alarmpi smbd[2155]: [2014/02/21 15:09:21.563595, 0] ../source3/smbd/server.c:684(smbd_open_one_socket)
Feb 21 15:09:21 alarmpi smbd[2155]: smbd_open_once_socket: open_socket_in: Address family not supported by protocol
Feb 21 15:09:21 alarmpi smbd[2155]: [2014/02/21 15:09:21.590267, 0] ../source3/lib/util_sock.c:423(open_socket_in)
Feb 21 15:09:21 alarmpi smbd[2155]: open_socket_in(): socket() call failed: Address family not supported by protocol
Feb 21 15:09:21 alarmpi smbd[2155]: [2014/02/21 15:09:21.591488, 0] ../source3/smbd/server.c:684(smbd_open_one_socket)
Feb 21 15:09:21 alarmpi smbd[2155]: smbd_open_once_socket: open_socket_in: Address family not supported by protocol
linux服务器不支持ipv6,只有ipv4
解决方法1:
# echo 1 > /proc/sys/net/ipv6/bindv6only
# echo "net.ipv6.bindv6only = 1" >> /etc/sysctl.conf
or
#sysctl -w net.ipv6.bindv6only=1 //–w 改变配置
#lsof -i:445 //查看端口
将/proc/sys/net/ipv6/bindv6only设置为0时,smbd将只监听ipv6上的端口。
将/proc/sys/net/ipv6/bindv6only设置为1时,smbd将同时监听ipv6和ipv4上的端口。
解决方法2:
编辑smb.conf文件,添加全局配置bind interfaces>我在samba成功登陆时,确实看到了rfc2553规定的这种
bind interfaces only = yes
interfaces = 127.0.0.1 host_ip_address
netstat -natulp | grep smb
./smbclient //221.132.22.58/jazywoowu -U jazywoowu%123456