-
场景
现今流行的计算机系统主要有Linux、Windows与Mac系统,不同操作系统有着不同的文件系统。不同系统间由于对文件类型支持不一样,导致有的文件类型只能在特定的系统里使用。如Windows下的.dll文件,.bat文件,Linux下的.sh文件等。那么如何实现在网络中相同系统的文件共享服务呢?微软采用了自己研发的SMP/CIFS实现了自己文件共享服务(SMP:Server Message Block - 服务消息块。CIFS(Commons Internet File System - 通用网络文件系统)。由于是微软自己研发的两种协议,所以并不支持用这两种协议在Windows与Linux建立共享文件服务。如何在不同的操作系统间建立一种可以提供文件共享的服务的协议成为了开发人员的一个痛点。而samba的出现使得两种文件系统共享文件服务成为可能。
samba并不是另起一种新的协议来完成这项目工作,而是在Linux下实现了微软在Windows上实现的 SMP/CIFS协议,使得Linux与Windows可以共享文件,像Windows系统一样使用Linux文件系统。
- 共享文件系统搭建步骤
安装samba
yum install -y samba
修改配制文件
打开smb.conf文件,在文件末尾追加以下内容(根据实际情况对里面的内容进行替换)
vim /etc/samba/smb.conf
# 中括号里的内容为共享目录的名称,可以自己定义
[webapp]
comment = webapp dir # 备注信息
path = /data/tomcat/webapp # 共享文件目录所在路径(提前创建好)
browseable = yes # 共享目录是否在网上邻居上可见
writable = yes # 是否有可写的权限
write list = @teamgroup # 指定@teamgroup下的所有用户对此目录可读写
编辑完后保存。
创建系统用户组
groupadd -r share
创建samba用户并指定用户使用的shell
useradd -s /sbin/nologin -G share tmpuser
设置samba用户密码
sampasswd -a tmpuser
new SMB password:
Retype new SMB password:
设置文件夹所属组
chgrp share /data/tomcat/webapp
启动samba
smbd start
此时,可以使用windows系统访问在Linux下共享的文件夹了。如:
访问共享文件夹
输入samba账号与密码
目录共享文件夹