SMB是Windows/unix/linux都能支持的协议,而且通过此协议打开的文件可以随时保存,不需要保存之后再上传。
使用Windows或osx来编辑保存在linux上的文件很方便。
QQ20151116-1@2x
下面是维基百科关于smb与cifs的解释:

服务器消息区块(英语:Server Message Block,缩写为SMB,服务器消息区块),又称网络文件共享系统(英语:Common Internet File System,缩写为CIFS),一种应用层网络传输协议,由微软开发,主要功能用是使网络上的机器能够共享计算机文件、打印机、串行端口和通讯等资源。它也提供认证的进程间通讯机能。它主要用在装有Microsoft Windows的机器上,在这样的机器上被称为Microsoft Windows Network。 经过Unix服务器厂商重新开发后,它可以用于连接Unix服务器和Windows客户机,执行打印和文件共享等任务。

CentOS上提供了samba软件可以提供smb协议的服务。

环境与需求
CentOS 6.5 要求共享『/var/www/』目录给本地网络访问,访问该共享的资源,需要使用user帐号,其密码为password。
安装过程
yum groupinstall "CIFS file server"
配置
组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。 Winbind是Samba套件的功能之一。它允许Unix系统利用Windows NT的用户帐号信息。winbind验证器是Samba winbindd服务进程的客户端。在使用该验证器之前,必须安装Samba和运行winbindd服务。 我们使用chkconfig工具将下面2个服务设置为开机启动。
chkconfig smb on
chkconfig nmb on
smb服务的配置文件为"/etc/samba/smb.conf" 在其配置文件尾部添加下面配置,添加一个共享指定user用户可写:
        [wwwroot]
        comment = wwwroot
        path = /var/www/
        writable = yes
        write list = user
创建用户
samba用户首先必须为系统用户,smbpasswd工具可以创建或变更用户。 先创建一个系统用户,然后添加其为samba用户。 需要注意的是,对于共享的目录,系统用户user必须可读写才可以。
useradd user
smbpasswd -a user
启动服务
service smb start
service nmb start

至此,Linux就可以为局域网内的其他主机提供文件共享服务了。上述只是一个简单的安装配置过程,还有很多个性化的设置以及其他功能,各位读者可以查阅相关资料,或者查看man帮助文件。

QQ20151116-2@2x

QQ20151116-4@2x

QQ20151116-5@2x

QQ20151116-6@2x

异常与解决

1、连接失败

如果您未配置防火墙(iptables),出现连接失败的情况,请执行以下操作临时清空防火墙:

iptables -F

该指令会临时清空防火墙规则,在您重新启动防火墙(service iptables restart)或重新启动操作系统(reboot)后规则会恢复。

或者执行以下指令永久清空防火墙规则:

iptables -F
service iptables save

2、连接成功后无法写入

如果您已连接并成功登陆后,无法读取或写入文件,请查看是否是未成功配置 selinux

查看方法是直接在命令行输入 getenforce,如果显示 Enforcing 表示启用了 selinux,如果显示 PermissiveDisabled 则表示未启用 selinux

[root@localhost opt]# getenforce
Enforcing
[root@localhost opt]# getenforce
Permissive

如果您不知道如何配置 selinux,笔者建议您可以关闭此功能,下面是关闭方法:

1)临时关闭

[root@localhost opt]# setenforce 0
[root@localhost opt]# getenforce
Permissive

2)永久关闭

编辑 /etc/selinux/config 文件,将 SELINUX=enforcing 修改为 SELINUX=disabled 并重新启动操作系统。

3、其他问题

如果您遇到了其他解决不了的问题,可以在此页面下留言,或者点击本站菜单栏的联系按钮,通过微信或 QQ 联系站长获取帮助。