Linux--Samba共享服务的配置
一:Samba概述
在Windows网络环境中,主机之间进行文件和打印机共享是通过微软公司自己的SMB/CIFS网络协议实现的,SMB(Server Message Block,服务消息块)和CIFS(Common Internet File System,通用互联网文件系统)协议是微软的私有协议,在Samba项目出现之前,并不能直接与Linux/Unix系统进行通信。
Samba是著名的开源软件项目之一,它在Linux/Unix系统中实现了微软的SMB/CIFS网络协议,从而使得跨平台的文件共享变得更加容易,在部署Windows、Linux/Unix混合平台的企业环境时,选用Samba可以很好的解决不同系统之间的文件互访问题。
二:Samba服务的程序组件
Samba服务器提供smbd、nmbd两个服务程序,分别完成不同的功能。其中,smbd负责为客户机提供服务器中共享资源(目录和文件等)的访问,nmbd负责提供基于NetBIOS协议的主机名称解析,以便为windows网络中的主机进行查询服务。
- smbd程序负责监听TCP协议的139端口(SMB协议)、445端口(CIFS协议)
- nmbd程序负责监听UDP协议的137~138端口(NetBIOS协议)
三:配置Samba共享
在CentOS7系统的DVD安装光盘中可以找到与Samba相关的几个软件包,主要包括服务端软件Samba、客户端软件Samba-client,用于提供服务端和客户端程序的公共组件Samba-common。
大部分软件包已经随centos7系统默认安装好了,用户可以查询系统中Samba相关软件包的安装情况。
[root@pxe ~]# rpm -qa | grep "samba"
samba-common-libs-4.10.4-11.el7_8.x86_64
samba-client-4.10.4-11.el7_8.x86_64
samba-common-4.10.4-11.el7_8.noarch
samba-libs-4.10.4-11.el7_8.x86_64
samba-common-tools-4.10.4-11.el7_8.x86_64
samba-4.10.4-11.el7_8.x86_64
samba-client-libs-4.10.4-11.el7_8.x86_64
如果没有使用yum安装Samba
3.1:服务端配置
3.1.1:修改配置文件
[root@pxe ~]# cd /etc/samba/
[root@pxe samba]# ls
lmhosts smb.conf smb.conf.example
[root@pxe samba]# mv smb.conf smb.conf.bak
[root@pxe samba]# ls
lmhosts smb.conf.bak smb.conf.example
[root@pxe samba]# grep -v "#" smb.conf.example > smb.conf
[root@pxe samba]# ls
lmhosts smb.conf smb.conf.bak smb.conf.example
[root@pxe samba]# vim smb.conf
##在末行写入:##
[abc] ##共享名称##
path=/opt/abc ##共享路径##
browseable=yes ##所有人是否可见##
writable=yes ##数据可写入##
create mask=0644 ##文件权限##
directory mask=0755 ##目录权限##
3.1.2:创建Samba共享访问账户
[root@pxe ~]# useradd zhangsan
[root@pxe ~]# smbpasswd -a zhangsan ##-a 添加smb用户并设置密码##
New SMB password:
Retype new SMB password:
Added user zhangsan.
[root@pxe ~]#
smbpasswd [选项] username
- -a:添加smb账户并设置密码
- -x:删除smb用户
- -d:禁用smb用户
- -e:启用smb用户
3.1.3:重启服务
[root@pxe ~]# systemctl stop firewalld.service
[root@pxe ~]# setenforce 0
[root@pxe ~]# systemctl start smb
3.2:客户端操作
3.2.1:Windows
前提:客户端与服务端能正常通信
按Windows+r键,在弹出的对话框中输入Samba共享服务的服务端IP地址
之后会跳转到共享,输入用户名和密码
进去后就会看到共享出来的目录
3.2.2:Linux
安装客户端软件包
[root@localhost ~]# yum install samba-client -y
查看共享目录
[root@localhost ~]# samba-client -U zhangsan//192.168.209.134/opt/share
创建挂载点进行挂载
[root@localhost ~]# mkdir /opt/share
[root@localhost ~]# mount -t cifs //192.168.209.134/opt/share /opt/share -o username=zhangsan,password=123123
挂载之后就可以使用共享目录