# 实验 2:Samba 服务器配置

实验目的

1、了解 Samba 协议,理解 Samba 的工作原理

3、熟练掌握 Samba 服务器的配置和故障排除的思路、方法技巧

4、深入理解 Linux 的文件权限管理

4、掌握防火墙 Firewall 的基本配置

5、初步学会配置 SELinux

实验参考

实验步骤可参考《2-1-Samba 服务器配置匿名共享.pdf》文件。

实验步骤可参考《2-2-Samba 服务器配置_安全共享.pdf》文件。

# 1. 实验要求

任务 1:配置 yum 源,使用光盘镜像或者阿里云的 YUM 源安装 Samba 服务包。
任务 2:Samba 匿名访问(不需要密码的分享),物理主机匿名访问 Samba 服务器上的共享目录 /tmp 和 /share。

任务 3:Samba 服务器配置_安全共享。一个小组(公司技术部)共同开发一个项目,所有的项目文件都存放在 Samba 服务器一个共享目录 (/home/project)。要求:

  • 公司每位成员使用用户名 / 密码访问 Samba 共享服务器,但只有技术部的成员可以访问部门的共享目录 /home/project。
  • 技术部每位成员在共享目录 /home/project 新建的文件都属于技术部组。
  • 技术部每位成员都可以对其他用户建立的文件进行读写操作,但每位用户只能删除自己的文件,不能删除其他用户建立的文件。

其他要求:

虚拟机主机名为 “Samba-xxx”,其中 xxx 为自己的姓名拼音简写;测试客户端的主机名修改为 “Client-xxx”

# 2. 实验过程

# 2.1 yum 源配置

首先将进入到配置目录,将原有的仓库文件进行一个备份

先创建一个文件夹来存放备份的文件,如下图 1-1

<img src="https://note-1311335427.cos.ap-shanghai.myqcloud.com/images/image-20221022211307613.png" alt="image-20221022211307613" style="zoom: 67%;" />

​ 图 1-1,建立文件夹

将文件移动进去后,配置一个阿里的 yum 源,如图 1-2

<img src="https://note-1311335427.cos.ap-shanghai.myqcloud.com/images/image-20221022212447481.png" alt="image-20221022212447481" style="zoom: 67%;" />

​ 图 1-2,yum 源配置

# 2.2 Samba 匿名共享

# 2.2.1 环境准备

应老师要求这里不关闭防火墙和 SELinux

建立一个共享目录 /public,安装 samba 服务程序包如图 2-1

image-20221022213412121

​ 图 2-1,环境准备

# 2.2.2 修改配置文件 /etc/samba/smb.conf

进入 samba 目录,将源文件备份,修改 smb.conf 文件如图 2-2

image-20221022214043968

​ 图 2-2,修改配置文件

修改配置文件内如如下图 2-3

image-20221022214220044

​ 图 2-3,配置文件内容

# 2.2.3 启动环境
[root@Samba-lq samba]# testparm #语法检查
[root@Samba-lq samba]# service nmb start #开启nmb服务
[root@Samba-lq samba]# service smb start #开启smb服务

检查语法如下图 2-4

image-20221022214900363

​ 图 2-4,语法测试

开启 nmb 和 smb 服务如图 2-5

image-20221022214957516

​ 图 2-5,开启服务

# 2.2.4 设置防火墙规则和 SELinux 规则
[root@Samba-lq samba]# firewall-cmd --permanent --zone=public --add-service=samba
[root@Samba-lq samba]# firewall-cmd --reload
[root@Samba-lq samba]# firewall-cmd --list-services
[root@Samba-lq samba]# chcon -t samba_share_t /public

配置如下图 2-5

image-20221022221106832

​ 图 2-5,配置效果图

# 2.2.5 共享目录进入要密码解决

问题截图如下

image-20221022221620593

这里因为我使用的是老师给的配置文件,发现配置文件在 public 的配置中没有 guest ok 允许匿名共享

image-20221022221815533

tmp 能够正常访问

image-20221022221859980

修改后能正常访问

image-20221022222048533

# 2.2.6 共享目录不能正常写入文件

image-20221022222139179

这里是因为 public 权限问题,这里更改权限

image-20221022222345913

更改后能够正常访问文件

image-20221022222414216

# 2.3Samba 安全共享

# 2.3.1 环境准备

关闭防火墙和 SELinux

image-20221022230620906

创建共享目录并设置权限

image-20221022230755058

# 2.3.2 修改配置文件

进入 /etc/samba 目录修改 smb.conf 文件

image-20221022231259199

重启服务

image-20221022231355253

# 2.3.3 创建共享用户,根据权限访问

创建系统用户

image-20221022231649122

修改系统用户密码

image-20221022232021237

创建管理 shamab 用户(使用 pdbedit 管理 Samba)

image-20221022232202251

查看所有的共享用户

image-20221022232421854

2.3.4windows 客户端利用账户 lisi 访问

image-20221022234754805

创建测试文件

image-20221022235324326

linu 上面用张三登录

image-20221022235809958

利用账号 zhangsan 挂载目录到本地

image-20221023000130466

进入挂载目录创建目录文件

image-20221023000217590

给共享目录设置防删除位

image-20221023000438265

# test-one

windows 账号 lisi 删除 zhangsan 创建的文件失败

image-20221023000515094

# test-two

zhangsan 删除 lisi 用户文件失败

image-20221023000623905

# 3. 实验小结