实验二
实 验 基 本 信 息 |
实验名称:Samba服务器配置 |
||
实验时间: 年 月 日 |
实验地点: |
||
实验目的:
|
|||
实验要求 |
1、简单文字说明,关键位置截图补充,Samba配置文件中的关键参数,使用注释标明。 2、实验过程中,出现任何错误,详细描述排错的过程。 3、实验完成后,当场演示实验结果。 |
||
实验过程描述 |
任务1: 配置yum源,使用光盘镜像安装Samba服务包。 (1) 挂载光驱:虚拟机→可移动设备→勾选CD/DVD;虚拟机→设置,如下图所示,确保CentOS7放在“光驱”中。
(2)连接xshell操作 如下所示:
(3) rpm -qa |grep samba //安装完后查看软件安装情况 出现如下即为配置成功:
任务2:匿名访问(不需要密码的分享),物理主机匿名访问Samba服务器上的共享目录/tmp和/public。
global] ;全局配置 workgroup = WORKGROUP ; 工作组名称 server string = Samba Server Version %v ;主机简单说明 netbios name = Host1 ;netbios名称 interfaces = 192.168.40.0/24 ;允许哪个接口提供服务,监听哪些网卡 hosts allow = 127.空格192.168.8. ;允许哪些地址的主机访问 log file = /var/log/samba/log.%m ;日志文件位置 max log size = 500 ;最大日志文件大小 security = user ;Samba服务器的安全模式 map to guest = Bad User ;匿名共享 [tmp] ;共享目录名称,也叫节名,每节定义一个共享项目 comment = Template Directories ;目录说明 browseable = yes ;是否让所有的用户看到这个项目 writable = yes ;是否可写 path=/tmp ;共享文件夹路径 guest ok = yes ;单纯分享时,让用户随意登入的设定值
• nmb:进行NetBIOS名称解析,主要使用UDP端口137、138来解析名称。 • smb:管理Samba服务器上的共享目录、打印机等,主要使用TCP端口、139、445来传输数据。
任务3:使用用户名访问(需要密码的分享),每用户可以登陆访问(可读写)共享目录project,但Samba服务器上自己的主目录,只能用户自己访问(可读写),其他用户无权访问。 1、Samba服务器上创建共享目录/home/project 并设置相应权限
注意:2是扩展属性,你的文件的权限变为-rwxrws---表示其他用户执行问件时具有所有者组的权限,若是4770则权限变为:-rwsrwx---,表示其他用户执行文件时,具有与所有者相当的权限
3、创建共享用户,根据权限访问共享目录(说明:Samba使用Linux系统的本地用户账户,但需要为系统账户专门设置Samba密码。客户端访问时,系统将提交的用户信息与Samba服务器端的信息进行比对地,如果相符,并且也符合Samba服务器其他安全设置,客户端与Samba服务器才能成功建立连接。)
4、修改用户密码
5、创建和管理Samba的共享用户,设置密码为4321(可以使用pdbedit命令来创建和管理Samba用户。)
6、 查看结果 pdbedit -L //读取passdb.tdb数据库文件,列出所有共享用户
7、 可以使用smbpasswd命令,修改共享用户的密码
8、可以使用 pdbedit -x 用户名 //删除samba共享用户 9、重启服务
10、在本地查看结果
11、Windows 客户端利用账户lisi 访问
⚫ 在共享目录中创建文件和目录
12、在Linux客户端中使用账号zhangsan访问共享
⚫ 利用账户zhangsan挂载目录到本地
⚫ 访问共享文件夹,并创建文件和文件夹。
⚫ zhangsan修改用户“lisi“(Windows客户端登陆)创建的文件”lisi.txt”,不可以修改。
文件夹消失,与需求不符合 13、进一步修改,满足需求
⚫ create mode - 定义用户在此共享资源中创建的文件的权限。Samba在新建文件时,会把dos文件的权限映射成对应的unix权限。如果不设置,create mode =0744 (默认)。 ⚫ directory mode - 这个配置与create mode参数类似,只是它是应用在新创建的目录上。如果不设置, directory mode =0755 (默认) 计算机配置差,不能同时运行两台服务器,只进行windos系统测试 14、继续修改:每位用户只能删除自己的文件,不能删除其他用户建立的文件。命令如下图所示
测试:Windows客户端zhangsan删除lisi的文件,如下图所示。
测试2:Linux客户端zhangsan删除lisi的文件,不可以删除,修改文件内容,成功。
|
||
回答问题 |
实验中为了搭建服务器关掉了防火墙和SElinux不利于系统安全 防火墙 Samba 有很多特性可以限制哪些人能访问哪些共享文件 — 限制特定用户名的访问、强制要求密码、检查组成员或在网络层过滤。后面的参数,比如 allow hosts 和 smb ports,它们对 IP 地址和 User Datagram Protocol (UDP)/TCP 端口进行操作,提供了一种简单的方法来控制哪些主机可连接到 Samba 服务器上。 如果能识别哪些设备连接到服务器,比如属于内部网络,或者甚至是某个特定的子网或一组服务器,那么就实现了网络层控制。这是第一道防线:如果攻击者无法连接到设备,那么设备会更安全。 在 Samba 守护进程中控制网络网络访问,这听上去是完美的解决方案,但其实有更好的方法。为了确定远程连接是否满足要求,Samba 首先要接受连接,因为 Samba 只有在完成连接后才能获取详细信息。如果是想要防止不符合要求的用户连接到 Samba,那么防止 Samba 看到这些连接更有意义。Samba 中的所有配置都只会影响 Samba,因此必须为其他的守护进程(比如 web 服务器和文件传输)找到类似的解决方案。 在典型环境中,网络安全不是由系统管理员而是由其他 IT 员工负责。在主机层(而不是应用程序层)控制访问能够实现业务分离,而且会减少由于更改 smb.conf 而导致的错误 使用防火墙保护 Samba 有多种不同的方法来设计 Samba 的防火墙策略,选择时要考虑网络布局以及谁或哪些主机需要访问 Samba 服务器等事项。从较高的层面来看,您可以选择保护整个主机或只关注 Samba。 如果您想要保护整个主机,那么您就不必担心 Samba 使用哪个端口。以下代码是一个简单策略,只允许来自 10.0.0.0/8 专用网络的流量传输到本地服务器:
第一个命令向 INPUT 链添加了一条规则,它将规则添加到当前的规则列表中。该规则设置了来自源网络(-s)10.0.0.0/8 的所有内容都跳到 ACCEPT 目标,它将会接受数据包。第二个命令允许来自现有会话的包,这是通过调用带有 -m state 的状态匹配器实现的。匹配器会追踪哪些连接离开主机。传出的连接的响应包被认为是 established 或 related,因此规则的其余部分会接受这些包。 最后一个命令设置 INPUT 链丢弃数据包的默认策略。如果数据包不是来自 10.0.0.0/8 网络或者不是主机生成的连接的一部分,那么它不会被接受。 |
||
实验成绩 |
教师签名: |