公司有这样的一个场景,因为业务的需要,公司内部有一些资料需要业务员提交,公司内部进行审核。现在内部搞一台服务器,进行文件共享。服务器用的是ubuntu操作系统。
最开始考虑的方便是用ftp来进行处理,但是有权限的问题,所以准备创建虚拟用户。但是在创建虚拟用户的过程中,发现一直都不能够创建成功,只好放弃。后来考虑用samba来进行文件共享
Samba是在Linux和UNIX系统上实现SMB协议的一个软件,由服务器及客户端程序构成。另外,它又是基于NetBIOS协议工作的。
1、NetBIOS和SMB/CIFS的概念
①NetBIOS(Network Basic Input/Output System,网络基本输入/输出系统协议)是一种在局域网上的程序可以使用的应用程序编程接口(API),作用是为了给局域网提供网络以及其他特殊功能。系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS Name(特指基于NetBIOS协议获得的计算机名称)解析为相应IP地址,实现信息通讯,所以在局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享。NetBIOS 是一种会话层协议,因其占用系统资源少、传输效率高,所以几乎所有的局域网都是在NetBIOS协议的基础上工作的,它已被适配到各种其它协议上,如IPX/SPX和TCP/IP。
②SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机等的通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务,是一种客户端/服务器型协议。
SMB最初被设计为运行在NetBIOS协议之上(而NetBIOS本身运行于TCP/IP或NetBEUI、IPX/SPX上),后来可直接运行于TCP/IP上。
CIFS是SMB协议的开源版本。随着Internet的流行,Microsoft将SMB协议扩展到Internet上去,成为Internet上计算机之间相互共享数据的一种标准,并将其重命名为CIFS(Common Internet File System)。
windows系统默认支持这两种协议,如果在linux上也提供支持,则linux和windows系统之间就能实现资源共享了。
以上内容都是拷的。
配置过程中遇到了不少坑,
1.samba不支付软链接,所以网上讲的什么添加follow sysblinks = yes什么的,都不要去配置了。
2.ubuntu上的文件夹一定要有足够的权限
3.samba完全可以实现不同的权限,但是同一台windows上不能用不同的权限。
4.前面还是需要根据需要一步步的添加,像
security = user
username map = /etc/samba/smbusers
这些在新版本中是没有的,所以要自己添加,而且需要配置在[Global]中
以下是我的samba的配置:
[yewuyuan]
comment = yewuyuan
path = /home/yewuyuan
public = yes
writable = yes
valid users = yewuyuan
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes
max connections = 100