今天来介绍一下samba服务,samba服务是一种文件共享服务,一般用具局域网中的文件共享,当然还可以提到的共享服务有ftp,nfs,这些服务各自有各自的优点及缺点
ftp
文件传输协议,是TCP/IP协议栈所提供的一种子协议,下载上传东西很方便,但是不支持在线操作,要想修改一个文件,需要先下载,修改之后再上传。
nfs
网络文件系统,也是是TCP/IP协议集所提供的一种子协议,这个本质是文件系统,将远程计算机磁盘挂载到本地,像本地磁盘一样操作,这个的限制就是在类UNIX的操作系统上使用。
samba
samba是Unix系统下实现的 Windows文件共享协议-CIFS,
它主要用于unix和windows系统进行文件和打印机共享,也可以通过samba套件中的程序挂载到本地使用。
这次要做的就是在linux虚拟机上(centos7环境)搭建一个samba服务并且在windows客户端访问
1,安装包(提前配好yum源)
[root@localhost张大帅哥 ~]# yum install samba
2,启动服务
[root@localhost张大帅哥 ~]# systemctl restart smb
3,配置主配置文件
[root@localhost张大帅哥 ~]# vim /etc/samba/smb.conf
[global] #全局设置
workgroup = SAMBA #工作组
security = user #登陆方式(用户登录)
passdb backend = tdbsam #验证方式(一般不改动)
server string = Linux Centos 7-1804 #服务名(可伪装成别的)
hosts allow = 172.18. 192.168.153. #客户端可访问列表这里写的是整个网段
log file = /var/log/samba/%I.log #日志文件
log level = 2 #日志文件安全级别
max log size = 50 #日志文件最大容量(默认50kb,0表示无限制)
config file = /etc/samba/smb.%U.conf #子配置文件(可针对特殊用户加以特殊权限)
[share] #共享文件名称(也就是客户端访问时可以看到的那个名字)
comment = Shared Files #共享文件夹的描述
path = /app/share #共享文件夹路径
browseable = yes/no #是否可以浏览,如果为no就看不到文件夹,但是可以通过ip+路径访问到
writeable = yes/no #是否有写权限
write list = smbadmin, @xiyou #设置有写权限的用户@后面跟的是组名
valid users = username #设置允许访问共享目录的用户@后跟组名,不写此行就对所有用户开放
public = yes/no #是否允许guest账户访问
force create mode = 0775 #在有写权限的时候创建文件的权限
force directory mode = 0777 #在有写权限的时候创建目录的权限
testparm可以用来检测配置文件中是否有语法错误
[root@localhost张大帅哥 ~]# testparm
4,创建用户并设置samba登陆密码
[root@localhost张大帅哥 ~]# useradd smbuser -s /sbin/nologin
[root@localhost张大帅哥 ~]# smbpasswd -a smbuser
New SMB password:
Retype new SMB password:
Added user smbuser.
这时候我们需要去设置共享目录了,我们的共享目录是/app/share
[root@localhost张大帅哥 app]# mkdir /app/share
5,重启服务
[root@localhost张大帅哥 app]# systemctl restart smb
6,清除防火墙,关闭selinux
[root@localhost张大帅哥 app]# iptables -F;setenforce 0
这时候我们就可以去windows客户端下访问了
win+r
输入\samba服务主机ip
然后就可以输入用户名和密码
这样我们的共享目录就出来了,在这里我写了自配置文件,所以可以看到两个共享目录
这样我么的samba服务就搭建及测试完成了。