SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的通信协议。而Samba则是在Linux和Unix系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。我记得我只在上学的时候跟着老师搭过一次Samba服务器,后来就没有再碰过了。今天闲来无事,再来把玩一下,熟悉熟悉。

给我的内网机上已经用rpm安装了Samba服务器,这省去了我不少麻烦事。进到百度百科里,粗略浏览了一下Samba服务器的相关知识,我就迫不及待的启动了samba服务器(没有修改任何配置)。然后我查看了一下相关日志/var/log/samba/log.smbd,发现在启动过程中报出以下错误:

[... ...] printing/print_cups.c:(cups_connect)
Unable to connect to CUPS server localhost: - Connection refused
... ...
[... ...] smbd/server.c:(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address already in use

百度搜索了一下,找到了错误的解决方法。虽然还不是很明白,但问题真的解决了,Samba服务器启动成功了。相关问题及解决方法如下:

1. Unable to connect to CUPS server localhost:631 - Connection refused

在/etc/samba/smb.conf配置文件中添加三行配置,如下:

load printers = no

printing = bsd //修改打印系统,默认为cups
printcap name = /dev/null //设置打印机的配置文件路径
disable spoolss = yes //隐藏打印机

2. smbd_open_once_socket: open_socket_in: Address already in use

解决方法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 only = yes

通过搜索一些文档,目标似乎都集中在了bindv6only这个内核参数。

继续查看内核文档
#cat /usr/share/doc/kernel-doc-2.6.32/Documentation/networking/ip-sysctl.txt | grep bindv6only -n5
----
bindv6only - BOOLEAN
        Default value for IPV6_V6ONLY socket option,
        which restricts use of the IPv6 socket to IPv6 communication
        only.
                TRUE: disable IPv4-mapped address feature
                FALSE: enable IPv4-mapped address feature
        Default: FALSE (as specified in RFC2553bis)
内核文档里面对这个参数进行了说明,它是一个bool值开关。
设置为1时,关闭ipv4映射地址的特性
设置为0时,开启ipv4映射地址的特性
默认设置为0。详情需要参考RFC2553。

通过查看RFC2553获得了一些信息:
RFC2553描述了IPv4映射地址和IPv6通配绑定套字的特殊行为。规格允许:
通过AF_INET6通配绑定套接字接受IPv4连接。
使用特殊形式的地址 (如 ::ffff:10.1.1.1 ) 通过AF_INET6套接字传输IPv4数据包。

通过RFC2553规定的规则,将linux默认所有来自IPv4地址的访问转换为IPv6地址的格式从而处理来自于IPv4的连接。

当bindv6only这个内核参数设置为0时,对所有来自于ipv4的请求都绑定到ipv6地址。简单说就是端口可以接收ipv4的包,也可以接收ipv6的包。
      当bindv6only这个内核参数设置为1时,对于来自ipv4的请求就打开多个端口进行监听和处理。Ipv4与ipv6所监听的端口是分开的。

结论:bindv6only参数是linux内核默认开启的参数,并且不会对系统运行产生什么不良影响。应当是ipv4向ipv6过渡时,为了向下兼容所开发的两种端口的运行模式。

附:我在samba成功登陆时,确实看到了rfc2553规定的这种特殊格式的地址。
# netstat -natulp | grep smbd
tcp        0      0 :::139     :::*                        LISTEN      17364/smbd
tcp        0      0 :::445     :::*                        LISTEN      17364/smbd
tcp        0      0 ::ffff:192.168.0.250:445    ::ffff:192.168.0.249:53679  ESTABLISHED 17474/smbd

# smbstatus
Samba version 3.5.10-125.el6
PID     Username      Group         Machine                        
-------------------------------------------------------------------
17474     smbuser       smbuser       mosquito     (::ffff:192.168.0.249)

Service      pid     machine       Connected at
-------------------------------------------------------
smbuser      17474   mosquito      Thu Nov 22 22:00:55 2012

Locked files:
Pid          Uid        DenyMode   Access      R/W        Oplock           SharePath   Name   Time
--------------------------------------------------------------------------------------------------
17474        501        DENY_NONE  0x100081    RDONLY     NONE             /home/smbuser   .   Thu Nov 22 22:00:55 2012

摘自:http://bbs.hx95.com/simple/index.php?t223015.html

终于启动成功了,赶紧登陆一下看看。在Win7的资源管理器的地址栏里输入\\[Samba服务器IP地址],让输入用户名密码,试了好几次都没有成功。于是又在网上搜索了一下,找到一个配置,如下:

#修改
security = share
... ...
#添加
[myshare]
comment = Raymond's Files Share
path = /data/share
public = yes
writable = yes
printable = no
create mask =

再次输入地址,回车,这次不用输入用户名密码就进去了。

Fedora14下首次搭建Samba服务器遇到的一些问题的更多相关文章

  1. Android源码浅析(三)——Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机

    Android源码浅析(三)--Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机 最近比较忙,而且又要维护自己的博客,视频和公众号,也就没 ...

  2. CentOS 6.5下快速搭建ftp服务器[转]

    CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vs ...

  3. Windows下IIS搭建Ftp服务器

    第一步:启用Windows IIS Web服务器 1.1 控制面板中找到"程序"并打开 1.2 程序界面找到"启用或关闭Windows功能"并打开 1.3 上面 ...

  4. CentOS 6.5下快速搭建ftp服务器

    来源:Linux社区 作者:Linux CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了v ...

  5. ubuntu 搭建samba服务器&挂载(mount)代码到本地

    一.搭建samba服务器 1.下载: sudo apt-get install samba samba-common 2.创建共享文件夹MyShare: mkdir /home/user/MyShar ...

  6. Ubuntu 上搭建 Samba 服务器

    由于经常要接收同事发送的一些文件,U盘拷来拷去的很麻烦. 在本机Ubuntu上搭了各Samba服务器,过程中遇到点小问题,记录一下 sudo apt-get install samba 创建一个共享目 ...

  7. linux系统下本地搭建git服务器

    linux系统下如何搭建本地git服务器,用于存放团队的开发代码,如下步骤: 1.先用一台服务器来安装git,安装好linux以后,在这里选用的是Ubuntu 14.04.然后配置静态IP:172.1 ...

  8. 在ubuntu12.0.4上搭建samba服务器以实现文件共享

    在安装之前samba服务器之前,先进行以下配置和测试. <壹> 准备工作 一.NAT联网方式 (1)硬件连接 无需网线,无需路由器 (2)虚拟机选择NAT连接方式 (3)测试网络通不通 在 ...

  9. CentOS 6.5搭建Samba服务器

    目标需求:在Windows7下访问CentOS 6.5 root用户桌面/ZS文件夹 0.准备工作 关闭防火墙并开启不起动 service iptables stop chkconfig iptabl ...

随机推荐

  1. 全部与精简切换显示jQuery实例教程

    下面是某网站上的一个品牌列表展示效果,用户进入页面时,品牌列表默认是精简显示的(即不完整的品牌列表)效果如下图所示: 用户可以单击商品列表下方的“显示全部品牌”按钮来显示全部的品牌.单击“显示全部品牌 ...

  2. 【Linux】vi编辑器命令

       1)进入vi的命令 vi filename :             打开或新建文件,并将光标置于第一行首 vi +n filename :          打开文件,并将光标置于第n行首 ...

  3. MySQL zip版安装配置

    文章出处:http://www.cnblogs.com/winstic/,请保留此连接 这段时间在学习Python 数据库操作知识,简单整理MySQL zip文件安装方法 下载 在MySQL官网htt ...

  4. ps的使用方法

    1.打开原图素材,Ctrl + J把背景图层复制一层,按Ctrl + Shift + U去色,执行:滤镜 > 模糊 > 高斯模糊,数值4,图层混合模式为滤色,图层不透明度改为27%. 2. ...

  5. Recovery和Charger模式下屏幕旋转180度[转]

    如何让Recovery (系统固件升级),charger(关机充电动画)时屏幕旋转180度 解决方法: 1.在bootable\recovery\minui\Graphics.c 文件找到gr_fli ...

  6. 香港house of hello品牌包包是怎样被模仿呢?

    今天,作为女性的朋友来说,house of hello包包可能对大家都不会陌生吧,特别是一些白领阶层的女性同胞们,这个品牌比较熟悉,现在,也有网友称,这个是恶搞包包.house of hello包包原 ...

  7. BZOJ 1487 无归岛

    Description Neverland是个神奇的地方,它由一些岛屿环形排列组成,每个岛上都生活着之中与众不同的物种.但是这些物种都有一个共同的生活习性:对于同一个岛上的任意两个生物,他们有且仅有一 ...

  8. C Static Inline函数

    Inline函数 程序执行时,处理器从Memory中读取代码执行.当程序中调用一个函数时,程序跳到存储器中保存函数的位置开始读取代码执行,执行完后再返回. 为了提高速度,C定义了inline函数,告诉 ...

  9. 单片机IO处理 电容触摸按键

    原理说明: 通过检测感应按键PAD的电容量变化来判断是否有触摸动作.当手指触摸PAD时,电容量增加,充放电时间变长. 本方案中利用M48的20个双向IO口实现了20个触摸按键,而且所用原器件最少.其中 ...

  10. 揭开Linux操作系统的Swap交换区之谜

    揭开Linux操作系统的Swap交换区之谜 Swap,即交换区,除了安装Linux的时候,有多少人关心过它呢?其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要.通过调整Swap ...