Samba共享是Linux与Windows的跨平台共享。
这个服务的创始人是美国一所大学的大学生,由于在实验室做的实验资料要带回宿舍继续研究,这样很麻烦,而当时的Windows与Windows之间的共享程序代码并不是开放的,但这些代码所产生的01代码是可以公开的,所以这个大学生根据微软所公开这个共享程序的01代码来推断这个服务程序的代码,也就是反编译。把所有的代码都推断出来后,将其修改,改成一种能让Linux与Windows之间共享的代码,这个创始人最后用他自己的名字来为这个服务命名为Samba共享服务。这个服务的代码也在后续被加入到Linux内核中,并且这套代码还是开源的。
由于Windows客户端需要安装Samba客户端有点繁琐,所以这里就还是使用两个Linux系统来进行配置
Samba服务端(Linux)
1、服务端安装samba
yum -y install samba
2、建立samba共享账号
useradd wen
#创建一个名为wen的用户
echo wen | passwd --stdin wen
#将wen作为用户wen的密码
pdbedit -a wen
#将这个用户添加到Samba共享账号里
pdbedit -L wen
#查看Samba共享账号里的wen用户
3、创建共享目录
mkdir /root/common
#在/root路径下创建一个common的目录,用作共享使用
echo 123 > /root/common/1.txt
#在/root/common路径下创建一个名为1.txt的文档,并将“123”写入(覆盖重定向)到这个文本中
echo samba,123456 >> /root/common/1.txt
#将“samba,123456”追加重定向到1.txt这个文本里
4、修改samba的配置文件
vim /etc/samba/smb.conf
[global]下修改工作组为 STAFF
workgroup = STAFF
在文件末尾添加以下配置
[common]
path = /root/common
5、启动samba服务
systemctl start smb
6、修改SELinux设置的布尔值
getsebool -a | grep samba #查看samba的布尔值
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_load_libgfapi --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
tmpreaper_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off
setsebool samba_export_all_ro on #打开samba_export_all_ro的布尔值
7、重新启动Samba服务
systemctl restart smb
客户端(Linux)
1、安装Samba客户端的包
yum -y install samba-client
2、查看对端共享名
smbclient -L 172.25.0.1
3、访问对端共享,密码是wen
smbclient -U wen //172.25.0.1/root/common
4、查看共享文件
smb: \> ls #查看共享目录
. D 0 Mon Sep 3 17:27:41 2018
.. DR 0 Mon Sep 3 17:27:27 2018
1.txt N 16 Fri Nov 23 23:26:58 2018
17811456 blocks of size 1024. 11667632 blocks available
smb: \> more 1.txt #查看1.txt文本的内容
123
samba,12456