目录
Samba简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
NFS与samba一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持windows平台,而本章要提到的samba是能够在任何支持SMB协议的主机之间共享文件的一种实现,当然也包括windows。
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
SMB协议是C/S型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
Samba监听端口
tcp | 137 | 138 |
tcp | 139 | 445 |
139和445是现在使用的端口
137和138是最开始的时候使用的端口
安装软件包
yum install -y samba
yum install -y samba-client //安装客户端
防火墙的配置
关闭全部防火墙
systemctl stop firewalld
setenforce 0 //内核防火墙
开启Samba需要的端口
firewall-cmd –permanent –add-port=445/tcp
firewall-cmd –permanent –add-port=139/tcp
firewall-cmd –reload
firewall-cmd –zone=public –list-ports //查看防火墙放行的端口
启动Samba
systemctl start smb
service smb start
/etc/init.d/smb start
Samba的配置文件
/etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
# map to guest = Bad User //匿名访问
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers] //打印机共享位置
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers //文件路径
write list = @printadmin root
force group = @printadmin
create mask = 0664 //创建文件的权限
directory mask = 0775 //创建目录的权限
添加配置文件
[myshare] //客户端可以访问到的文件夹
path=/opt/abc //客户端在文件夹内的读写操作将保存到这个路径下
public=yes //设置所有人可以访问,当然要开启[global]中的匿名访问
browseable=yes
create mask=0644
directory mask=0755
在Windows中测试匿名访问
win+R
\\192.168.159.136
可以看到myshare文件夹
添加配置文件
到这里就可以注释掉[global]中的匿名访问
[test]
path=/opt/test
browseable=yes
create mask=0644
directory mask=0755
valid users=tom,laoli
write list=laoli //laoli有写的权限而tom没有
创建Samba的用户
useradd tom
useradd laoli
设置Samba用户的密码
设置tom的密码
smbpasswd -a tom
New SMB password:123
Retype new SMB password:123
设置laoli的密码
smbpasswd -a laoli
New SMB password:123
Retype new SMB password:123
在Windows中测试用户访问
先清除一下缓存
在终端中输入net use * /del
win+R
\\192.168.159.136
输入账号 laoli 和密码 123
这里会看到俩个文件夹,我们进入test创建一个 111 的测试文件
接下来登录tom的账号
用tom的账号登录后在进入test文件夹创建新的文件或者删除111文件会发现没有权限。