Date:13January2020Linux系统管理与服务器配置——基于CentOS7第8章Samba服务器Date:13January2020目录•8.1项目一:Samba服务器的安装与启动–8.1.1Samba服务器简介–8.1.2安装Samba服务器•8.2项目二:Samba服务器的配置与测试–8.2.1配置Samba服务器–8.2.2测试Samba服务器•8.3常见问题分析•本章小结Date:13January20208.1项目一:Samba服务器的安装与启动•某公司经过不断发展,公司的网络环境建设日趋完善,内部网络逐渐增多。为了使员工能方便共享不同操作系统之间的资源,将安装局域网Samba服务器,实现Windows和Linux资源的互通。序号知识点详见章节1了解Samba服务器8.1.12安装Samba服务器的过程8.1.2Date:13January20208.1.1Samba服务器简介•Samba是在Linux和UNIX系统上实现信息服务块(ServerMessagesBlock,SMB)协议的一个免费软件,由服务器及客户端程序构成。•SMB是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。•SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOSoverTCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。Samba最大的功能是实现Linux与Windows系统之间直接的文件共享和打印共享。Date:13January20208.1.2安装Samba服务器•1.修改防火墙设置–由于防火墙默认策略会阻止远程用户对Samba的访问,所以需要先修改防火墙配置,以确保共享服务的正常使用,允许Samba流量通过。–#firewall-cmd--permanent--add-service=samba//设置防火墙–#firewall-cmd--reload//重新加载防火墙Date:13January20208.1.2安装Samba服务器•2.安装Samba服务–可以直接使用yum工具进行安装。具体操作如下:•#yuminstall-ysambasamba-client•安装后,启动并查看Samba服务器。Date:13January20208.1项目一:Samba服务器的安装与启动•操作过程–具体内容详见8.1.2:–#firewall-cmd--permanent--add-service=samba–#firewall-cmd--reload–#yuminstallsambasamba-client–#systemctlstartsmb.servicenmb.service–若服务启动成功,说明服务器安装一切正常。Date:13January20208.2项目二:Samba服务器的配置与测试•安装完Samba服务器后,需要进一步配置局域网Samba服务器,将/home/samba设为共享目录,用于共享信息,实现Windows和Linux资源的互通。序号知识点详见章节1管理Samba服务8.2.12测试Samba服务器8.2.2Date:13January20208.2.1配置Samba服务器•1.配置文件简介–Samba服务器的默认配置文件是/etc/samba/smb.conf,默认情况下,Samba已经配置为允许用户通过远程共享访问账号的主目录。在此配置文件中,涉及一些选项设置。–为了将目录共享给客户端,需要在配置文件smb.conf的末尾追加对目录的共享设置,实现快速自定义共享。增加内容如下:[common]//共享名称为commoncomment=Commonshare//共享注释path=/home/samba//指定共享路径browseable=yes//所有人可见guestok=no//拒绝匿名访问writable=yes//支持写入数据Date:13January20208.2.1配置Samba服务器•2.测试语法–使用命令testparm测试语法的可靠性,当配置文件的语法出错时,命令将会给出提示,需要将错误修改正确后,再次运行testparm查看配置文件是否正确。Date:13January20208.2.1配置Samba服务器•3.建立共享目录–在/home目录中新建samba目录作为Samba服务器的共享目录,并在samba目录中新建samba.txt文件作为共享文件,同时将共享文件的权限调整为所有用户可读、可写、可执行,从而确保在不同的操作系统中共享此目录中的文件。–在确定Samba共享目录之前,需要停用SELinux或设置恰当的布尔值和安全选项,否则SELinux会阻止客户端访问共享目录–#setsebool-Psamba_export_all_ro=1samba_export_all_rw=1//修改SELinux中涉及Samba服务器的布尔值。–#getsebool–a|grepsamba_export//查询Samba服务器的布尔值。–#semanagefcontext–atsamba_share_t/home/samba(/.*)?//为/home/samba目录增加samba_share_t标签。–#restorecon/home/samba//恢复SELinux文件属性。Date:13January20208.2.1配置Samba服务器•4.创建访问账号–客户端访问Samba共享时所使用的账号名称就是服务器端操作系统中真实存在的系统账号名称,需要注意的是,访问Samba共享的密码必须是独立的Samba密码,不可以使用系统密码,这样即便有人获得了Samba的账号和密码,也不能登录到服务器本机的操作系统。–成功访问Samba服务器还需要使用#smbpasswd命令将系统账号添加到Samba中,并设置对应的密码,CentOS系统自带的Samba软件包安装后,默认会将账号与密码存放在/var/lib/samba/private目录下。Date:13January20208.2.1配置Samba服务器•具体操作如图所示,首先新建系统用户smbuser,为该用户设置密码,然后利用smbpasswd命令将该用户添加到Samba服务器的账户中。在添加过程中,会提示设置账号对应的密码。随后,启动该服务。Date:13January20208.2.1配置Samba服务器•smbpasswd命令的用法如下:–命令格式:•smbpasswd[选项]账户名称–选项说明:•-a:添加账户并设置密码。•-x:删除SMB账户。•-d:禁用SMB账户。•-e:启用SMB账户。Date:13January20208.2.2测试Samba服务器•1.假设当前Linux系统的ens33网卡IP地址是:192.168.65.128。在Windows环境下输入\\192.168.65.128进行访问。Date:13January20208.2.2测试Samba服务器•2.在Linux环境下输入smbclient-Usmbuser//192.168.65.128/common访问。Date:13January20208.2.2测试Samba服务器•3.配置只允许个别用户访问–(1)配置smb.conf,添加如下内容:[time]comment=AshesOfTimepath=/share/timevalidusers=zhiwritelist=zhiprintable=nocreatemask=0755directorymask=0755Date:13January20208.2.2测试Samba服务器–(2)验证•Windows客户端验证方法:在“这台电脑”点击右键,选择“映射网络驱动器”,选择【使用其他凭据连接】,如图所示。按照提示输入用户名和密码,输入后,在电脑上可看到共享的文件。Date:13January20208.2.2测试Samba服务器–在Linux端的验证方法如下,在终端中输入#smbclient-L192.168.10.128-Uzhi命令进行验证。Date:13January20208.2项目二:Samba服务器的配置与测试•操作过程:#vim/etc/samba/smb.conf[common]comment=Commonsharepath=/home/sambabrowseable=yesguestok=nowritable=yes#testparm#mkdir/home/samba#touchhome/samba/samba.txtDate:13January20208.2项目二:Samba服务器的配置与测试#setsebool-Psamba_export_all_ro=1samba_export_all_rw=1#getsebool–a|grepsamba_export#semanagefcontext–atsamba_share_t/home/samba(/.*)?”#restorecon/home/samba#useradd-s/sbin/nologinsmbuser#smbpasswd-asmbuser#systemctlrestartsmb.servicenmb.service#systemctlstatussmb.servicenmb.service–完成以上的设置后,在Windows和Linux系统上测试Samba服务器的可靠性。Date:13January20208.3常见问题分析•若Samba服务器配置有误,在Linux端验证时会提示错误信息,以下是常见的错误信息及其解决方案。–1.NT_STATUS_BAD_NETWORK_NAME•若提示该错误信息,则说明输入了错误的共享名称,一般为输入性错误,需要检查客户端请求的共享资源在服务器中是否存在。–2.NT_STATUS_LOGON_FAILURE•若提示该错误信息,则说明登陆失败,一般是由于账户名称或密码不对,需要检查账户与密码后重试。–3.NT_STATUS_ACCESS_DENIED•若提示该错误信息,则说明访问被拒绝,权限不足。可能是Samba服务设置的访问权限,也有可能是服务器文件系统的访问权限不允许客户端访问。Date:13January20208.3常见问题分析–4.NT_STATUS_HOST_UNREACHABLE•若提示该错误信息,则说明客户端无法连接服务器,一般是由于网络故障或防火墙问题,需要检查客户端与服务器的网络连接是否正常。此外,还需要检查防火墙规则是否允许客户端请求。–5.Notenough‘\’charactersinservice•若提示该错误信息,则说明客户端访问时共享路径输入有误,需要注意//IP和//IP/是不同的,使用//IP格式访问服务器会报错误。Date:13January2020本章小结•本章通过两个项目详细介绍了Samba服务器的安装和配置方法。•在Samba服务器的安装中,介绍了Samba服务器的基本功能与特点,Samba服务器的安装采用YUM源安装,在安装前需要先修改防火墙的配置。安装后,可利用systemctl命令启动并查看Samba服务器的状态。•在Samba服务器的配置中,介绍了smb.conf配置文件的修改方法,其中涉及共享注释、共享路径、是否可见、访问权限等内容。可使用testparm命令测试配置文件语法,本节还介绍了设置SELinux中涉及Samba服务器的修改方法,在新建Samba用户时,需要利用smbpasswd命令将用户添加到Samba服务器的账号中。此外,还介绍了Windows和Linux环境下测试Samba服务器的方法。Thankyou谢谢