CentOS 7.6 安装和配置samba文件共享服务

一、概述

Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。
Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,而 Samba较多的用在了Linux与windows之间的数据共享上面。
例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件

组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口

二、环境准备

服务器:CentOS 7.6系统(192.168.245.100)
客户机:win10系统(192.168.245.10)

三、samba的安装

yum -y install samba   //yum安装samba软件,也可以samba*下载所有相关软件

在这里插入图片描述

四、samba的配置

rpm -qc samba-common   //查看samba配置文件
/etc/logrotate.d/samba
/etc/samba/lmhosts
/etc/samba/smb.conf    //samba主配置文件
/etc/sysconfig/samba 

注意:直接输入samba是看不到主配置文件的
在这里插入图片描述

/etc/sambs/smb.conf.example   //samba配置文件的模板文件,不懂怎么配置可以看它

1、匿名用户访问

在这里插入图片描述

[global]   //全局配置,影响所有范围
        workgroup = SAMBA    //工作组
        security = user   //安全验证方式为user,6.5系统的share已经不用了
        map to guest = Bad User  //允许匿名用户访问,默认没有这一条
        passdb backend = tdbsam  //定义用户后台类型为tdbsam

在这里插入图片描述
在这里插入图片描述

[share]                                //共享目录显示的名字,随便起
        path=/opt/abc                  //共享目录的路径
        browseable=yes                 //允许访问
        writable=yes                  //可写入
        create mask=0644           //写入文件的权限为644
        directory mask=0755       //创建目录的权限为755
        guest ok  = yes          //允许匿名访问,public=yes也可以

在这里插入图片描述

testparm smb.conf           //检查配置文件的语法
Load smb config files from smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions   //这里可以ctrl+c跳过
setenforce 0   //设置selinux=Permissive
systemctl stop firewalld.service   //关闭防火墙
systemctl disable firewalld.service  //设置开机不启动防火墙

在这里插入图片描述

systemctl start smb   //启动samba服务

客户机win10直接访问服务器地址\\192.168.245.100
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、基于身份验证的访问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

[test]
        path=/opt/test   //共享目录是test
        browseable=yes
        create mask=0644
        directory mask=0755
        valid users=zhangsan, lisi    //允许访问的账户张三和李四,中间用逗号和空格分隔
        write list=zhangsan  //可写的账户是张三

在这里插入图片描述

[root@sheng samba]# smbpasswd -a zhangsan  //建立samba用户并指定密码,用户必须是系统用户
New SMB password:
Retype new SMB password:
Added user zhangsan.
[root@sheng samba]# smbpasswd -a lisi
New SMB password:
Retype new SMB password:
Added user lisi.
[root@sheng samba]# pdbedit -L      //列出Samba用户列表,读取passdb.tdb数据库文件
zhangsan:1000:
lisi:1001:

在这里插入图片描述
客户机win10访问服务器:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

C:\Users\shengjie>net use * /d   //windows系统清除缓存

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、别名访问

在这里插入图片描述

[global]
        workgroup = SAMBA
        security = use
        passdb backend = tdbsam
        username map = /etc/samba/smbusers   //全局配置下指定别名映射的配置文件,默认是没有的需要自己创建

在这里插入图片描述

客户机验证别名访问:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、访问控制

在这里插入图片描述

[test]
        path=/opt/test
        browseable=yes
        create mask=0644
        directory mask=0755
        valid users=zhangsan, lisi
        write list=zhangsan
        hosts deny=192.168.245.  //只需要在单独的共享目录配置块下多加一条deny即可

在这里插入图片描述
客户端验证不可以访问test
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结:访问控制优先匹配白名单

5、挂载windows系统的共享

我们需要将windows系统的一个文件夹共享出来,使linux服务器可以访问,需要先设置这个文件夹的共享权限,然后再在linux系统中挂载,linux系统才可以访问
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

C:\Users\shengjie>gpupdate /force
正在更新策略...

计算机策略更新成功完成。
用户策略更新成功完成。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

yum -y install samba-client  //需要安装samba客户端软件
yum -y install cifs-utils        //需要安装windows的smb文件系统工具

在这里插入图片描述
在这里插入图片描述

[root@sheng samba]# smbclient -L 192.168.245.10   //查看客户端的共享文件
Enter SAMBA\root's password: 

	Sharename       Type      Comment
	---------       ----      -------
	ADMIN$          Disk      远程管理
	C$              Disk      默认共享
	D$              Disk      默认共享
	IPC$            IPC       远程 IPC
	share           Disk      

在这里插入图片描述

[root@sheng samba]# mount.cifs //192.168.245.10/share /opt/win   //挂载windows的共享文件夹到linux
Password for root@//192.168.245.10/share:    //这里不用输入密码直接回车

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shengjie87/article/details/107443936