Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB是一种在局域网上共享文件和打印机的一种通讯协议,它为局域网内的不一样计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机经过该协议能够访问服务器上的共享文件系统、打印机及其余资源。经过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。html
2、搭建步骤
shell
一、使用包管理器安装Samba服务器vim
sudo apt-get install samba
二、备份samba配置文件,避免错误配置,便于及时回退以前的状态windows
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
3.建立共享目录服务器
注释:/home/share能够指定为一个合法的路径便可 sudo mkdir -p /home/share
4.修改配置文件网络
sudo vim /etc/samba/smb.conf
五、例如此时为全部的用户建立一个共享目录,此时在配置文件smb.conf最后添加以下:ide
[共享] Commnet = “xxxxxx” 注释:该共享目录的描述 Path = “/home/share” 注释:设置共享目录为/home/share Avaliable = yes/no 注释:设置共享目录是否可显示 Writable = yes/no 注释:指定该目录缺省是否可写,也能够用readonly = no来设置可写 Browseable = yes/no 注释:设置共享目录是否可显示
如下为附加选项:spa
Public yes/no 注释:指明该共享资源是否能给游客帐号访问 Valid users = zhaop_os 注释:samba帐户名,这里是指此文件夹的合法用户为zhaop_os,若须要添加组,那么能够写成valid users = zhaopei_os,@group Invalid users =XX 注释:zengxs_os //指定不能使用的用户和组 Readlist users = 注释:/指定能读取和写共享文件的组 write list = user, @group 注释: 指定能读取和写该共享资源的用户和组 admin list = user, @group 注释:指定能管理该共享资源(包括读写和权限赋予等)的用户和组 ide dot files = yes|no 注释: 指明是否像UNIX那样隐藏以“.”号开头的文件 create mode = 0755 注释: 指明新创建的文件的属性,通常是0755 directory mode = 0755 注释:# 指明新创建的目录的属性,通常是0755 sync always = yes|no 注释:# 指明对该共享资源进行写操做后是否进行同步操做 short preserve case = yes|no 注释:# 指明是否区分文件名大小写 preserve case = yes|no 注释:# 指明是否保持大小写 case sensitive = yes|no 注释:# 指明是否对大小写敏感,通常选no,否则可能引发错误 mangle case = yes|no 注释:# 指明混合大小写 default case = upper|lower 注释:# 指明缺省的文件名是所有大写仍是小写 force user = testuser 注释:# 强制把创建文件的属主是谁。若是我有一个目录,让guest能够写,那么guest就能够删除,若是我用force user= testuser强制创建文件的属主是testuser,同时限制create mask = 0755,这样guest就不能删除了 wide links = yes|no 注释:# 指明是否容许共享外符号链接,好比共享资源里面有个链接指向非共享资源里面的文件或者目录,若是设置wide links = no将使该链接不可用 max connections = 100 注释:# 设定最大同时链接数 delete readonly = yes|no 注释:# 指明可否删除共享资源里面已经被定义为只读的文件
六、建立samba用户rest
例如为配置文件中的users建立zhaop_os,执行如下两个步骤:日志
1.sudo useradd zhaop_os 2.sudo smbpasswd zhaop_os
七、重启samba服务
1. sudo testparm 注释:查看载入的samba配置文件的内容,检查是否出错 2. sudo service reload 注释:从新载入配置文件 3. sudo service restart 注释:重启samba服务
Add-ons:个人samba私有文件夹具体配置过程
mkdir -p /home/pri/zhaopei_os
增长配置文件内容以下:
【zhaop_os】 Commnet = “xxxxxx” 注释:该共享目录的描述 Path = “/home/pri/zhaopei_os” 注释:设置共享目录为/home/share Avaliable = yes/no 注释:设置共享目录是否可显示 Writable = yes/no 注释:指定该目录缺省是否可写,也能够用readonly = no来设置可写 Browseable = yes/no Public yes/no 注释:指明该共享资源是否能给游客帐号访问 Valid users = zhaop_os 注释:samba帐户名,这里是指此文件夹的合法用户为zhaop_os,若须要添加组,那么能够写成valid users = zhaopei_os,@group
建立对应的关联samba用户
1.sudo useradd zhaop_os 2.sudo smbpasswd zhaop_os
常见question
解决方法:见连接http://blog.sina.com.cn/s/blog_72aace390100r042.html。
2.长时间链接后,出现失去链接的状况;
解决方法:根据日志分析。
3、搭建过程当中的心得
便于管理用户帐户和密码能够在/etc/samba目录下建立一个smbusers.
当客户端访问smb服务器的链接已经打开,此时服务器重启之后,客户端须要重启才能从新完成这次链接。
windows在地址栏中输入//XXXXXX,最后出现访问拒绝的状况,在确认服务器配置无误而且用户名存在的状况下,能够修改windows的本地策略,能够参照一下http://blog.sina.com.cn/s/blog_7291f6ad0100xedv.html。
本人搭建的过程远远不像本身写文章这么的一鼓作气,尝试,failed,尝试,failed,四五个来回总算基本能使用和部署samba服务器了。人生也是如此,贵在尝试,贵在坚持,我想若干年后看看曾经写过的东西,回想一路的艰辛,那一刻该有多么美好。