之前讲的FTP和TFTP协议,都是在做文件传输。存放在服务器的一个文件,客户端A下载下来,编辑好了,上传到服务器,然后,客户端B下载下来,修改好了,上传到服务器,然后客户端A再去下载下来修改,一直循环,这是个很麻烦的事情。并且说白了都只是在客户端上修改文件,而非直接在服务器上修改文件,为了能够在服务器上修改文件,samba服务程序
应运而生。
samba服务程序
samba服务
是一种文件共享服务
,可以很好的在linux和window之间进行文件共享,也可以在linux和linux之间进行文件共享。
samba服务程序名为samba
,但是在Linux中,samba
服务名为smb
安装samba服务程序很简单:
yum -y install samba
samba服务程序的配置
samba服务器的ip地址为192.168.10.10
-
调整samba服务配置文件
samba
服务的配置文件路径为:/etc/samba/smb.conf
,有320行。
可以通过筛选去掉以#
和;
开头的行,并且去掉空行^$
,再将筛选的结果写入该配置文件。
配置参数中各参数介绍如下:
-
设置共享资源
配置samba
服务的配置文件,如下:
-
有了共享资源,那肯定还要有访问共享资源的人。上述的验证模式为口令验证模式,故需要创建
samba账户
来访问共享资源。在RHEL7中,samba
服务要求samba账户数据库
中的用户信息必须是已经存在于服务器的,否则在共享资源中创建文件将会导致权限属性混乱的问题。
-
创建共享资源中的目录
/home/database
,将该目录的所有者和所属组都修改为abong
用户,并设置该目录及其目录下的文件的selinux安全上下文
都是samba_share_t
类型。
-
修改有关samba服务的selinux域策略,永久开启
samba_export_all_rw
-
重启
smb
服务,并加入开机自启,清空防火墙策略并保存当前防火墙策略。
-
为了更好的验证所得的结果,我们先重启
samba
服务器。在重启后,仍然需要清空防火墙策略并保存当前防火墙策略。 -
打开
windows
物理机,配置VMnet8的ip地址为192.168.10.30
物理机ping虚拟机,没问题。
虚拟机ping物理机,没问题。
-
Ctrl+R
,打开“运行”,输入\\192.168.10.10
,回车!!!可以看到在samba服务器上共享的资源可以在windows上进行访问了。【第一次输入可能需要输入samba账户密码
】
编辑并保存一个文件
看看samba服务器上是否有对应的文件。可以看到是有的。
至此,我们终于完成了linux和windows之间的文件共享。
Linux系统之间的共享
samba
服务器还是上面配置好的,IP地址为192.168.10.10
linux
客户端的ip地址为192.168.10.20
在进行共享配置前,要保证服务器和客户端之间能互相通信。
- 在linux客户端上安装支持文件共享的服务程序
cifs-utils
yum -y install cifs-utils
- 编写一个smb认证文件
auth.smb
,并降低权限为600
- 创建一个目录
database
,并将共享目录与该目录进行挂载。可以看到,已经挂载成功。
- 共享目录中的
readme.txt
文件
可以看到,在linux客户端上也可以看到该文件了。
以上就完成了linux系统之间的文件共享。