Samba简介

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

NFS与samba一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持windows平台,而本章要提到的samba是能够在任何支持SMB协议的主机之间共享文件的一种实现,当然也包括windows。

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

SMB协议是C/S型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。

Samba监听端口

tcp137138
tcp139445

139和445是现在使用的端口

137和138是最开始的时候使用的端口

安装软件包

yum install -y samba

yum install -y samba-client //安装客户端

防火墙的配置

1.关闭全部防火墙

systemctl stop firewalld

setenforce 0 //内核防火墙

2.开启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

1.systemctl start smb
2.service smb start
3./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中测试匿名访问

1.win+R

2.\\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用户的密码

1.设置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

1.win+R

2.\\192.168.159.136

输入账号 laoli 和密码 123

这里会看到俩个文件夹,我们进入test创建一个 111 的测试文件

接下来登录tom的账号

用tom的账号登录后在进入test文件夹创建新的文件或者删除111文件会发现没有权限。