Linux操作系统基础与应用(CentOS Stream 9) 课件 项目12 配置文件共享服务器_第1页
Linux操作系统基础与应用(CentOS Stream 9) 课件 项目12 配置文件共享服务器_第2页
Linux操作系统基础与应用(CentOS Stream 9) 课件 项目12 配置文件共享服务器_第3页
Linux操作系统基础与应用(CentOS Stream 9) 课件 项目12 配置文件共享服务器_第4页
Linux操作系统基础与应用(CentOS Stream 9) 课件 项目12 配置文件共享服务器_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目12配置文件共享服务器SUBTITLEHEREMindShow.fun2023-06-05CONTENTS学习目标项目情境思维导图任务12-1了解FTP服务器的工作原理任务12-2安装与配置FTP服务器任务12-3配置匿名用户FTP服务器任务12-4配置基于本地用户访问的FTP服务器任务12-5了解Samba服务器的工作原理任务12-6安装与配置Samba服务器任务12-7配置user验证的Samba服务器拓展知识项目实训项目小结项目12配置文件共享服务器01学习目标学习目标知识目标能力目标素养目标知识目标了解FTP的工作原理掌握FTP服务器的安装、配置和管理了解SMB协议能力目标能使用Samba实现不同系统之间的文件共享能熟练使用本地和匿名用户FTP服务器会在实际工作中配置文件共享服务器素养目标能够严格按照职业规范要求进行安全操作掌握配置服务器时控制用户访问的能力,增强系统的安全性提高沟通能力和表达能力,可以向他人清晰表达项目过程培养合作意识,做到与小组成员互相帮助,取长补短素养目标02任务12-1了解FTP服务器的工作原理任务12-1了解FTP服务器的工作原理任务目标12.1.1了解FTP服务器的工作原理12.1.2熟悉FTP的工作原理12.1.3掌握FTP的数据传输模式12.1.4了解FTP服务器的用户任务目标FTP(文件传输协议,FileTransferProtocol)是用于在Internet上进行控制文件双向传输的应用程序。FTP服务器是提供文件存储和访问服务的服务器,通过搭建FTP服务器,可以实现数据上传、下载和文件共享。为了完成领导交代的任务,小陈决定先对FTP服务器进行一些了解。

因此,小陈制定了如下的任务目标:认识FTP。熟悉FTP的工作原理。12.1.1认识FTP

FTP定义了一个在远程计算机系统和本地计算机系统之间传输文件的标准,它使得用户能够在Windows、Linux及UNIX等操作系统中实现跨平台的文件传输服务。并且FTP支持断点续传功能,可以应对数字据传输过程中因为网络中断等导致的传输中断问题。FTP是用于在网络上进行文件传输的一套标准协议,它运行在OSI模型和TCP/IP参考模型的应用层,基于TCP协议在不同的主机之间提供可靠的数据传输。与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。Linux系统中常用的FTP服务器软件是VSFTP(VerySecureFTP),它是一个基于GPL发布的类Unix系统上使用的FTP服务器软件。安全性是VSFTP的一个最大的特点,它可以运行在诸如Linux、BSD、Solaris、HP-UNIX等系统上面,是一个完全免费的、开放源代码的FTP服务器软件。FTP采用客户端/服务器(Client/Server,C/S)架构,通过FTP客户端连接到FTP服务器,实现文件互传。在通信过程中,FTP协议在客户机和服务器之间建立两条通信链路,分别是控制连接和数据连接。1.控制连接

控制连接主要负责传递客户端的命令和FTP服务器对命令的响应,它使用服务器的21端口,其生存周期是整个FTP会话时间,即发起连接到断开连接所用的时间。2.数据连接

数据连接主要负责传输文件和其他数据,它在需要数据传输时才建立,一旦数据传输完毕就关闭。数据连接使用服务器的20号端口。

需要注意在数据连接存在的时间段内,控制连接也同时存在,当控制连接断开时,数据连接也会自动关闭。12.1.2熟悉FTP的工作原理FTP的数据传输模式分为两种即主动模式和被动模式。数据连接是由服务器端发起的连接,即主动模式。由客户端发起的连接,即被动模式。1.主动模式(PortMode)FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要读取数据时,客户端随机开放一个大于1024的端口,发送Port命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到Port主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据,主动模式示意图如图12.1所示。12.1.3掌握FTP的数据传输模式图12.1主动模式示意图2.被动模式(PassiveMode)FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要读取数据时,发送PASV命令到FTP服务器,服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端,客户端再连接到服务器开放的端口进行数据传输,被动模式示意图如图12.2所示。如果客户端所在网络的防火墙禁止主动模式连接,通常会使用被动模式。12.1.3掌握FTP的数据传输模式图12.2被动模式示意图

客户端要连接FTP服务器,必须要有该FTP服务器的授权才能登录,以便获得FTP服务器提供的服务。FTP用户有三种类型:匿名用户、本地用户和虚拟用户。1.匿名用户指任何用户允许访问FTP服务器,匿名FTP登录的用户账户通常是anonymous或ftp,一般不需要密码,其登录主目录为/var/ftp,经常用于公共文件的下载。一般情况下只提供下载功能,不提供上传功能或上传功能受限。2.本地用户指Linux的本地用户,以/etc/passwd中的用户名为认证方式,直接使用自己的账户和口令授权登录。本地用户登录后,默认目录就是该用户自己的家目录,而且可以变更到其他目录。通常本地用户在FTP服务器中即可以下载内容又可以上传内容。3.虚拟用户通过一份独立的用户数据库文件进行登录验证,将FTP账户与Linux账户的关联性降至最低,为系统提供更高的安全性。虚拟用户在FTP服务器上只能访问其主目录中的内容,不能访问其主目录之外的内容。通常虚拟用户既可以下载内容又可以上传内容。12.1.4了解FTP服务器的用户03任务12-2安装与配置FTP服务器任务12-2安装与配置FTP服务器任务目标12.2.1了解yum工具12.2.2使用yum命令安装软件包任务目标vsftpd(verysecureFTPdaemon)是一款免费且开源的FTP服务器软件。小陈计划在Linux虚拟机中安装vsftpd服务,并熟悉vsftpd的主要配置文件以进行服务的配置。

因此,小陈制定了如下的任务目标:正确安装vsftpd服务。熟悉vsftpd服务的主要配置文件。12.2.1安装vsftpd软件包

在安装FTP服务器之前,应该给FTP服务器指定静态的IP地址、子网掩码等TCP/IP参数。这里的FTP服务器IP地址为:00,子网掩码为。

检查服务器是否已经安装vsftp服务。若没有输出,则表示没有安装。使用dnf命令安装vsftpd软件包。并查看版本号信息。vsftpd服务相关的配置文件,如表12.1所示。表12.1vsftpd的配置文件12.2.2熟悉vsftpd配置文件12.2.2熟悉vsftpd配置文件1.主配置文件

本服务器上安装的vsftpd的版本号为vsftpd-3.0.3-49.el9.x86_64。FTP服务器的主配置文件是/etc/vsftpd/vsftpd.conf文件,可以针对用户登录控制、超时设置、用户权限、服务器的性能等进行修改。由于主配置文件是文本文件,我们使用cat命令查看/etc/vsftpd/vsftpd.conf文件的默认配置。vsftpd.conf文件的常用配置项如下:(1)匿名用户(anonymous)有关配置选项表12.2匿名用户的有关配置选项12.2.2熟悉vsftpd配置文件(2)本地用户有关配置选项表12.3本地用户的有关配置选项12.2.2熟悉vsftpd配置文件(3)vsftpd.conf文件的全局配置选项表12.4vsftpd.conf文件的全局配置选项12.2.2熟悉vsftpd配置文件2./etc/vsftpd/ftpusers(黑名单)ftpusers文件列出的用户都不能登录FTP服务器,因此该文件相当于登录FTP服务器的黑名单。FTP服务器要拒绝某个用户登录,将该用户的用户名添加到ftpusers文件中即可。默认情况下,root用户账号包含在该文件中。3./etc/vsftpd/user_list(登录控制用户列表)user_list是登录控制用户列表配置文件,该文件用于控制“只允许”或“拒绝”在user_list文件中列出的用户登录FTP服务器。当主配置文件vsftpd.conf中的“userlist_enable”选项为YES,且“userlist_deny”选项为NO时,只有在user_list文件中列出的用户才允许登录FTP服务器。当主配置文件vspd.conf中的“userlist_enable"和“userlist_deny"选项的值都是YES时,user_list文件列出的用户将被拒绝登录FTP服务器。12.2.2熟悉vsftpd配置文件4.限制/排除名单文件/etc/vsftpd/chroot_list文件可以作为限制名单或排除名单使用,控制用户能否切换到自己的根目录之外。

如果作为限制名单,则该名单中的用户只能在其根目录中活动。如果作为排除名单,则该名单中的用户不受活动限制,不仅能访问自己的根目录,还能切换到服务器上根目录之外的其他目录中。

在主配置文件vsftpd.conf中,chroot_local_user选项用于设置是否将所有用户禁锢在根目录中,从而决定chroot_list是作为限制名单,还是作为排除名单。chroot_list_enable选项用于决定是否启用chroot_list名单。因此,chroot_list名单发挥的具体作用是由chroot_local_user和chroot_list_enable选项共同决定的,具体作用如表12.5所示。表12.5限制/排除名单文件的作用12.2.2熟悉vsftpd配置文件04任务12-3配置匿名用户FTP服务器任务12-3配置匿名用户FTP服务器任务目标12.3.1使用dnf命令管理软件包12.3.2搭建本地dnf仓库12.3.3搭建网络dnf仓库任务目标

为了使公司的所有员工使用匿名访问的方式在FTP服务器上特定目录上传、下载和重命名文件,用来存放一些公共的文件资源,小陈需要搭建一台匿名用户FTP服务器。

因此,小陈制定了如下的任务目标:正确配置匿名用户FTP服务器。熟悉FTP服务器的访问方式。12.3.1配置基于匿名用户访问的FTP服务器

这里的FTP服务器节点名称为ftp-server,IP地址为:00,子网掩码为。FTP服务器的参数配置如下:匿名用户FTP服务器的根目录为/var/anon_ftp_root。匿名用户FTP服务器的上传目录为/var/anon_ftp_root/upload。允许匿名用户下载FTP服务器上的文件。允许匿名用户在upload目录中上传文件、删除目录、创建子目录和重命名文件。1.关闭Selinux安全子系统

关闭SELinux有两种方法:

临时关闭,重启系统后还会开启。

永久关闭,重启后SELinux不会开启。将SELINUX=enforcing改为SELINUX=disabled。

12.3.1配置基于匿名用户访问的FTP服务器2.创建FTP目录

创建FTP根目录/var/anon_ftp_root。vsftpd2.3.5版本开始,如果用户被限定在其FTP根目录下,则不允许对自己的根目录具有写权限,但对子目录并不限制写入。因此创建upload子目录用于上传文件,并修改upload目录的所有者为ftp,使匿名用户对upload目录具有写权限。在FTP根目录中创建测试文件TEST.txt。12.3.1配置基于匿名用户访问的FTP服务器3.安装vsftpd软件包检查ftp-server服务器上是否安装vsftpd软件包,如果没有则使用dnf命令进行安装。检查是否已经安装vsftpd软件包命令如下:使用dnf命令安装vsftpd软件包命令如下:12.3.1配置基于匿名用户访问的FTP服务器4.修改vsftpd.conf配置文件编辑vsftpd服务主配置文件/etc/vsftpd/vsftpd.conf修改vsftpd.conf文件12行左右的anonymous_enable的参数。在文件末尾添加以下4行代码,注意等号两侧不要使用空格。12.3.1配置基于匿名用户访问的FTP服务器5.设置防火墙和Selinux设置防火墙

防火墙可以防御通过端口号对系统造成的攻击,因此防火墙通常禁用某些远程访问。所以在远程访问ftp服务器时需要对防火墙做相应的设置。

要开启防火墙状态下访问ftp服务器,可以执行以下命令:12.3.1配置基于匿名用户访问的FTP服务器若想关闭防火墙,可以执行以下命令。②设置SELinux使用setsebool命令修改SELinux策略规则,并使用-P参数让修改过的策略永久生效。12.3.1配置基于匿名用户访问的FTP服务器或者永久关闭Selinux。12.3.1配置基于匿名用户访问的FTP服务器6.启动vsftpd服务①设置vsftpd服务未开机启动,并重启vsftpd服务。12.3.1配置基于匿名用户访问的FTP服务器②查看21号端口是否被监听,确认vsftpd服务正常运行。

如果netstat命令无法使用,则需要另外安装net-tools。12.3.2访问FTP服务器Windows系统和Linux系统的计算机都可以作为客户端访问FTP服务器。1.使用Windows10客户端访问FTP服务器打开桌面上的“此电脑”,在地址栏中输入地址00,然后按Enter登录FTP服务器。如图12.3所示图12.3登录FTP服务器12.3.2访问FTP服务器

图12.3所示的Windows资源管理器中显示FTP服务器根目录/var/anon_ftp_root中的内容。其中,upload目录是之前创建的上传目录,用户可以上传文件到其中。TEST.txt是在之前在服务器已经存在的文件,用户可以下载到本机。

打开upload目录,在upload目录中新建一个名称为user的文件夹并上传一个文本文件Hello.txt,如图12.4所示。图12.4在FTP中上传文件和创建文件夹12.3.2访问FTP服务器在服务器端执行命令ls-l命令,查看/var/anon_ftp_root/upload/目录中的文件。12.3.2访问FTP服务器2.使用Linux客户端访问FTP服务器ftp命令是常用的命令式FTP客户端,在Linux和Windows系统中都可以使用,用户通过ftp命令可以向远程主机上传文件或从远程主机下载文件。使用ftp命令在Linux客户端中访问FTP服务器。(1)使用dnf安装ftp软件包

在clinet节点上安装ftp软件包,命令如下:(2)登录FTP服务器使用ftp命令登录服务器,命令如下:12.3.2访问FTP服务器(3)管理FTP服务器中的目录和文件

登录FTP服务器,会显示ftp提示符“ftp>”,用户可以在此提示符下输入ftp子命令。ftp命令提供了丰富的子命令对FTP服务器中的目录和文件进行管理,FTP服务常用的目录和文件管理子命令如表12.6所示。表12.6FTP服务常用的目录和文件管理子命令12.3.2访问FTP服务器(4)上传和下载文件

上传和下载文件时应该设置正确的FTP传输方式。FTP传输方式分为ASCII传输方式和二进制传输方式两种,对文本文件应采用ASCII方式传输,对程序、图片和音视频文件应采用二进制方式传输,默认使用二进制传输方式。

上传、下载文件相关的ftp子命令如表12.7所示。表12.7上传、下载文件相关的ftp子命令05任务12-4配置基于本地用户访问的FTP服务器任务12-4配置基于本地用户访问的FTP服务器任务目标12.4.1配置基于本地用户访问的FTP服务器12.4.2使用Linux客户端测试FTP服务器任务目标

由于小陈表现出色,领导决定将公司的服务器维护工作交给他负责。目前服务器上已经安装了Web服务和FTP服务。日常维护工作由两个团队执行,主要包括从Windows客户端或Linux客户端向FTP服务器上传文件、创建目录、更新网页文件等任务。为了完成这些工作,小陈需要设置两个专用账户。

因此,小陈制定了如下的任务目标:正确配置基于本地用户访问的FTP服务器。掌握FTP服务器的访问方式。能够使用命令上传下载文件。12.4.1配置基于本地用户访问的FTP服务器

公司现有安装CentOSStream9系统的服务器一台,Linux客户端和Windows客户端若干。各台计算机的具体规划如表12.8所示。表12.8虚拟机节点规划FTP服务器的配置要求如下。FTP服务器的两个管理账号分别为Linux本地用户ftpuser1和ftpuser2并且这两个账号不能登录本地系统。FTP服务器禁止匿名方式登录,仅允许Linux本地用户ftpuser1和ftpuser2登录,并可以上传文件,创建目录,下载文件。FTP服务器的根目录为/var/www/html。登录服务器的用户不能切换到FTP根目录之外。12.4.1配置基于本地用户访问的FTP服务器1.创建本地用户(1)创建本地用户ftpuser1和ftpuser2,并禁止本地登录。(2)设置本地用户ftpuser1和ftpuser2的初始密码为111111。(3)修改/etc/shells文件,在其末尾增加/sbin/nologin。12.4.1配置基于本地用户访问的FTP服务器2.创建FTP目录(1)创建FTP的根目录/var/www/html(2)设置其他用户对/var/www/html目录的写权限。3.安装vsftpd软件包

使用dnf命令安装vsftpd软件包。12.4.1配置基于本地用户访问的FTP服务器4.配置FTP服务器(1)编辑主配置文件/etc/vsftpd/vsftpd.conf。

对主配置文件/etc/vsftpd/vsftpd.conf作如下修改,注意等号两侧不要使用空格。12.4.1配置基于本地用户访问的FTP服务器(3)重启vsftpd服务,并设置为开机启动。(4)查看21号端口是否被监听,确认vsftpd服务。12.4.1配置基于本地用户访问的FTP服务器5.设置防火墙和Selinux(1)配置firewalld防火墙,放行FTP服务器(2)查看防火墙是否对FTP服务放行12.4.1配置基于本地用户访问的FTP服务器(3)设置SELinux使用setsebool命令修改SELinux策略规则,并使用-P参数让修改过的策略永久生效。12.4.2使用Linux客户端测试FTP服务器1.在客户端创建测试文件

在client节点客户端的/root目录中创建测试文件ftpuser1.txt。2.登录FTP服务器

在客户节点端使用ftp命令登录FTP服务器。12.4.2使用Linux客户端测试FTP服务器3.测试创建目录、上传文件

在FTP服务器上创建ftpuser1_dir目录,之后将/root/ftpuser1.txt文件上传到ftpuser1_dir目录,并查看结果。06任务12-5了解Samba服务器的工作原理任务12-5了解Samba服务器的工作原理任务目标12.5.1认识SMB

12.5.2了解Samba12.5.3了解Samba服务工作过程任务目标

对于习惯于使用Windows系统的用户来说,使用FTP只能进行文件传输,而不能直接在服务器上修改文件。小陈了解到Windows用户可以通过Samba来像访问本地共享文件夹一样访问Linux主机上的共享目录和文件。为了更好地实现不同系统之间的公共资源共享,小陈决定安装Samba服务器,实现Linux和Windows之间的资源互通。

因此,小陈制定了如下的任务目标:①

了解什SMB协议。②

了解Samba的功能。③

掌握Samba的工作原理。12.5.1认识SMBSMB(ServerMessageBlock)是一种网络文件共享协议,最初由IBM开发,后来被微软广泛应用于Windows操作系统中。SMB协议允许不同的计算机之间共享文件、打印机和其他资源,同时提供了身份验证、加密和数据完整性保护等功能。SMB协议通常使用TCP/IP协议进行通信,在局域网或广域网中被广泛应用。SMB的最新版本是SMB3.1.1,它在性能、安全性和可靠性等方面都有了很大的改进。12.5.2了解SambaSamba的概念Samba是一种开源软件,实现了SMB/CIFS协议,可以在Linux/Unix操作系统上实现与Windows操作系统的文件和打印机的共享。Samba提供了文件和打印机共享、身份验证、目录访问控制等功能,可以让Linux/Unix系统与Windows系统之间无缝通信。Samba还支持多种操作系统和平台,包括Linux、Unix、macOS等,因此被广泛应用于企业网络和个人计算机中2.Samba的功能Samba主机使用两个进程来管理两个不同的服务,分别是smbd和nmbd。smbd是SMB服务器进程,用来管理Samba服务器上的目录和文件以及打印服务请求。监听的端口号为TCP139和TCP445。nmbd是用来处理NetBIOS名称服务请求和网络浏览功能。监听的端口号为UDP137和UDP138。12.5.3了解Samba服务工作过程

通过Samba服务,Windows用户可以通过“网上邻居”窗口查看到Linux服务器中共享的资源,同时Linux用户也能够查看到服务器上的共享资源。Samba服务的具体工作过程如图12.5所示。图12.5Samba服务的工作过程12.5.3了解Samba服务工作过程具体步骤如下:

客户端在访问Samba服务器时,首先由客户端发送一个SMBnegprot请求数据报,并列出它所支持的所有SMB协议版本。服务器在接收到请求信息后开始响应请求,并列出希望使用的协议版本。如果没有可使用的协议版本则返回oXFFFFH信息,结束通信。

当SMB协议版本确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送Sessionsetup&X请求数据报实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后服务器通过发送一个Sessionsetup&X请应答数据报来允许或拒绝本次连接。

当客户端和服务器完成了协商和认证之后,它会发送一个Treeconnect或SMBTreeconnect&X数据报并列出它想访问网络资源的名称,之后服务器会发送一个SMBTreeconnect&X应答数据报以表示此次连接是否被接受或拒绝。

连接到相应资源,SMB客户端就能够openSMB打开一个文件,通过readSMB读取文件,通过writeSMB写入文件,通过closeSMB关闭文件。07任务12-6安装与配置Samba服务器任务12-6安装与配置Samba服务器任务目标12.6.1安装Samba的软件包12.6.2了解Samba配置文件任务目标

小陈需要在虚拟机中安装Samba软件,以满足Linux和Windows主机之间相互访问的需求。因此,小陈需要熟悉配置Samba服务器的方法。

因此,小陈制定了如下的任务目标:

①了解什么是SMB协议。

②了解Samba的功能。

③掌握Samba的工作原理。12.6.1安装Samba的软件包

这里的Samba服务器节点名称为samba-server,IP地址为:00,子网掩码为。Samba采用C/S架构,主要由samba(服务器端程序)、samba-client(客户端程序)、samba-common和samba-libs等软件包组成。一般采用dnf方式安装较为方便。1.检查本地dnf仓库在samba-server节点检查dnf仓库。12.6.1安装Samba的软件包2.安装Samba软件包使用dnf命令安装Samba软件包,安装成功后系统将自动创建名称为smb的系统服务。12.6.1安装Samba的软件包3.Samba服务的运行控制启动smb系统服务并设置为开机启动。12.6.2熟悉Samba配置文件

刚安装完毕的Samba服务器并不能直接访问,还需要对Samba服务器进行配置,将指定的目录共享给客户端,并根据需求给共享目录设置访问权限。Samba服务器的主配置文件/etc/samba/smb.conf。1.认识主配置文件使用cat命令查看Samba服务器的主配置文件/etc/samba/smb.conf。该文件中每一个配置项占一行,格式如下:“=”的两边允许出现空格符,这一点与vsftpd配置文件不同。此外,以“#”开头的行是注释语句,以“;”开头的行是Samba配置项的示例,它们默认不会被执行。12.6.2熟悉Samba配置文件2.GlobalSettings全局设置smb.conf文件的常用全局设置项目如表12.9所示。表12.9smb.conf的常用全局设置项目12.6.2熟悉Samba配置文件(1)security用于设置Samba服务器的安全验证方式,可以设置为如下选项:

user:此方式是默认的安全验证方式,常用于独立的文件服务器。用户访问Samba服务器的共享资源必须提供用户名和密码,由Samba服务器负责身份验证。账号和密码要在本Samba服务器中建立。

share:访问Samba服务器的共享资源不需要提供用户名和密码。Samba4.0版本之后,share参数已不采用,如果需要用游客用户访问,该字段需要配置user,然后添加maptoguest字段,如maptoguest=UserName。maptoguest配置的用户将会被游客使用。

domain:访问Samba服务器的共享资源必须提供用户名和密码。由指定的主域控制器负责身份验证。

server:访问Samba服务器的共享资源必须提供用户名和密码。可指定其他机器(windows)或另一台samba服务器作身份验证,这是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用WindowsNT进行Samba认证,远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。12.6.2熟悉Samba配置文件(2)passdbbackend用于设置存储Samba用户信息的后台类型,可取值如下。

smbpasswd:Samba用户信息以文本格式默认保存在/var/lib/samba/private/smbpasswd文件中。使用smbpasswd命令给Linux系统中的本地用户设置Samba密码,客户端就可以用该用户信息和Samba密码来访问共享资源。smbpasswd命令用法如下:12.6.2熟悉Samba配置文件②tdbsam:Samba用户信息默认保存在用户数据库/var/lib/samba/private/passdb.tdb文件中。可以使用smbpasswd或pdbedit命令创建Samba独立用户,不过要建立的Samba用户必须先是系统用户。pdbedit命令的用法如下:

③ldapsam:基于轻量目录访问协议(LightweightDirectoryAccessProtocol,LDAP)的账户管理方式来验证用户。使用时,首先要建立LDAP服务然后设置“passdbbackend=ldapsam:ldap://LDAPServer”。12.6.2熟悉Samba配置文件3.ShareDefinitions共享定义

需要发布共享文件或打印机资源,需要配置ShareDefinitions(共享定义)部分。共享定义通过[homes]、[printers]和[自定义共享名]来配置共享资源的属性。修改smb.conf文件常用的共享定义配置项目,如表12.10所示。表12.10修改smb.conf文件常用的共享定义配置项目12.6.2熟悉Samba配置文件12.6.2熟悉Samba配置文件4.smb.conf配置文件smb.conf文件配置完成后,使用testparm命令可以测试smb.conf文件的配置是否正确。以上执行结果显示“LoadedservicesfileOK.”,表示配置文件语法正确。关于配置smb.conf文件的更多详细帮助信息可以查看/etc/samba/smb.conf.example文件。12.6.2熟悉Samba配置文件5.Samba日志文件

日志文件记录来客户端访问Samba服务器的信息,以及Samba服务器的出错信息等。Samba服务器的日志文件默认存放在/var/log/samba/目录中,也可以通过主配置文件sam.conf中的logfile配置项来自定义日志文件的路径和文件名称,如下所示:

其中,%m代表客户端主机名。

当客户端通过网络访问Samba服务器后,Samba会为每个连接服务器的客户端分别创建日志。管理员可以通过分析日志,了解用户的访问情况和Samba服务器的运行状况。08任务12-7配置user验证的Samba服务器任务12-7配置user验证的Samba服务器任务目标12.7.1配置Samba服务器12.7.2Windows客户端访问Samba服务器12.7.3Linux客户端访问Samba服务器任务目标

小陈的公司需要配置一台Samba服务器,将一些重要的公司资料存储在该服务器上。要求只有开发部门的几个特定员工能够查看和编辑Samba服务器上的文件。最近一段时间,小陈通过学习Samba服务器配置的知识,可以帮助公司完成这台服务器的配置。

为了模拟Samba服务器和客户端,小陈将使用两台虚拟机,并将它们的网卡连接模式设置为NAT模式。虚拟机节点的具体规划如表12.11所示。表12.11虚拟节点规划任务目标Samba服务器的参数配置如下:(1)该部门的子网IP地址为/24,只允许此网段中的主机访问Samba服务器。(2)Samba服务器上的共享目录为/develop-share。(3)该部门的用户组为develop-group,本组的用户都有权访问共享资源。(4)该部门授权的用户账号为user1、user2,将其加入develop-group用户组中。(5)用户访问时具有写权限。12.7.1配置Samba服务器我们将通过以下步骤将samba-server节点虚拟机配置为Samba服务器1.关闭SELinux2.创建Samba用户账号Samba服务程序默认使用的是用户密码认证模式(user)。这种认证模式可以确保仅让有密码且受信任的用户访问共享资源,所以Samba服务程序要求账户必须在当前系统中已经存在,否则日后创建文件时将导致文件的权限属性混乱,可能由此引发错误。用户账号不能直接创建,需要先在Linux系统中创建本地账号,然后将本地账号添加为Samba用户账号。12.7.1配置Samba服务器(1)创建develop-group用户组。(2)创建本地用户user1、user2,并加入develop-group用户组中。(3)将user1、user2添加为Samba账号,并设置访问Samba服务器的密码为111111。12.7.1配置Samba服务器3.创建Samba共享目录(1)创建/develop-share目录。(2)创建/develop-share目录为770权限。(3)修改/develop-share目录所属用户组为develop-group。4.安装Samba软件包在samba-server节点虚拟机中配置本地dnf仓库,使用dnf安装samba软件包。12.7.1配置Samba服务器5.编辑Samba服务器主配置文件(1)备份smb.conf为smb.conf.bak,以备配置失败后还原。(2)使用nano编辑器打开/etc/samba/smb.conf,修改如下。12.7.1配置Samba服务器6.配置防火墙(1)配置清空iptables防火墙,配置firewalld防火墙,放行Samba服务。(2)查看防火墙是否对Samba服务放行。12.7.1配置Samba服务器7.启动smb服务12.7.1配置Samba服务器查看445号端口的监听情况。12.7.1配置Samba服务器使用smbclient命令查看共享详情smbclient是一个smb服务器的客户端的管理程序,可以交互式的访问samba服务器的共享资源。smbclient命令的格式如下所示:该命令常用的选项及说明如下所示:-I=IP:连接指定的IP地址-L=listHOST:获取指定共享资源列表-p=Port:指定要连接的共享资源服务器端口号-U=Username:指定连接共享服务器使用的用户帐号-N:不要求输入密码-?:显示命令的帮助信息-V:显示命令的版本信息12.7.1配置Samba服务器这里我们可以使用-U参数指定访问Samba服务的用户,使用-L参数列出共享清单。12.7.2Windows客户端访问Samba服务器

无论Samba服务器是部署在Windows系统上还是部署在Linux系统上,使用Windows客户端访问的方法都是一样的。

在物理机的Windows系统中,按【Wn+r】组合键,打开“运行”对话框,在“打开”文本框中输入Samba服务器地址“\\00”,然后单击“确定”按钮,如图12.6所示。

如果Samba服务器是基于user验证访问,则弹出图12.7所示的Windows安全中心对话框,要求完成用户身份验证,在文本框中填写正确的账号和口令后,单击“确定”该钮,即可问Samba服务器上的共享资源,如图12.8所示。之后进入目录就可以尝试执行查看、写入、更名、删除文件等操作。图12.6“运行”对话框12.7.2Windows客户端访问Samba服务器图12.7Windows安全中心对话框图12.8Samba服务器上的共享资源12.7.2Windows客户端访问Samba服务器

注意:Samba服务器在建立账户信息数据库时要求使用的账户必须是系统中已经存在的,由于Samba服务程序使用了独立的账户信息数据库。所以,Samba服务程序使用的账户密码可以何系统账户的密码不相同。另外,由于Windows系统缓存的原因,可能导致第二次登录Samba服务器时即使输入了正确的账号和密码,依然报错。这时,可以重启Windows系统解决问题。12.7.3Linux客户端访问Samba服务器Samba服务程序不只是解决了Linux系统和Windows系统之间的资源共享问题,它其实还可以实现Linux系统之间的资源共享。下面介绍两种方法:

1.使用smbclient命令访问共享资源(1)安装smbclient软件包

在Linux客户端中,需要使用smbclient命令来访问共享目录。smbclient是访问SMB/CIFS服务资源的客户端命令,操作方式和ftp命令相似。这里我们需要安装samba-client软件包。(2)使用smbclient命令显示和连接共享目录使用smbclient命令显示samba服务器上共享资源的命令格式如下:

其中,选项-L的功能是获取samba服务器上的共享资源列表;选项-U的功能是指定用于访问samba服务器的用户名。具体示例如下:

使用smbclient命令连接samba服务器上共享资源的命令格式如下:12.7.3Linux客户端访问Samba服务器

使用user2用户连接samba服务器00的共享目录develop,并在该共享目录下创建子目录ceshi1。具体示例如下:12.7.3Linux客户端访问Samba服务器

执行连接命令之后如果有“smb:\>”提示符出现,则表示连接成功。

在“smb:\>”提示符之后输入“?”,可以获取smbclient的子命令列表。使用它们可以完成浏览、上传、下载等操作。

注意:smbclient命令的更多用法大家可以执行mansmbclient或者smbclient--help命令查看。2.使用mount命令挂载Samba共享目录

使用smbclient命令虽然可以实现对samba服务器上共享资源的操作,但是并不便捷。这里我们介绍一种使用mount命令挂载共享目录到本地的方法。这种方法挂载在本地目录上的文件,就如同Linux本地系统的一部分,使用起来非常方便。

使用mount命令挂载samba服务器共享目录,需要用到cifs-utils软件包。下面我们先来安装它。(1)安装cifs-utils软件包(2)使用mount命令挂载Samba共享目录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论