Samba 服务配置与搭建实验
一、实验目的
本实验旨在搭建Samba 服务器,实现特定目录的共享,并为用户设置相应的访问权限,同时确保服务在网络环境中的正常运行及功能验证。
应用场景:
1.公司需要一个统一存放共享文件的文件存放服务器且能按员工姓名设置属于自己的访问目录与权限控制或者文件中转站
2. 搭建自己私有云盘(云厂商购买一台大容量磁盘云主机就可搭建随时随地访问的私有云盘)
二、实验环境与准备工作
(一)操作系统
基于 Linux 类系统
(二)检查 Samba 服务安装情况
-
执行命令
rpm - qa | grep samba
查看系统中已安装的 Samba 相关软件包,输出示例如下:
samba - common - 2.2.7a - 2.9.0
:Samba 的通用文件包,包含一些通用的配置文件和文档等。samba - client - 2.2.7a - 7.9.0
:Samba 客户端安装文件,用于使客户端能够连接和访问 Samba 服务器。samba - swat - 2.2.7a - 7.9.0
:Samba 的 WEB 界面相关文件,可通过网页方式对 Samba 服务器进行部分配置(若启用)。samba - 2.2.7a - 7.9.0
:Samba 服务的核心程序文件。redhat - config - samba - 1.0.4 - 1
:可能是用于图形化配置 Samba 的工具文件(具体功能可能因系统而异)。
三、实验步骤
(一)安装 Samba 服务(若未安装)
使用 yum install - y samba
命令安装 Samba 服务。
此命令通过 Yum 从软件仓库中获取并安装 Samba 相关软件包及其依赖项,确保 Samba 服务的完整安装。
(二)配置 Samba 主配置文件(/etc/samba/smb.conf)
1vim /etc/samba/smb.conf
。
[public]
:定义共享资源的名称,客户端将通过此名称访问共享。comment
:对共享资源的描述,便于识别和管理。path
:指定服务器上要共享的实际目录路径。browseable
:设置为yes
,允许客户端在浏览共享资源时看到此共享目录。read list
:指定具有只读权限的用户列表,这里为harry
用户。writable = yes
表示共享目录具有可写权限。这意味着连接到该共享的用户(在满足其他权限条件下,如属于具有写入权限的用户或组等)可以在该共享目录下创建新文件、修改现有文件以及删除文件等操作。例如,如果一个用户通过 Samba 客户端连接到这个共享目录,并且其权限允许,就可以在该目录中进行文件的编辑和管理工作printable = yes
表示共享资源可用于打印任务。通常用于共享打印机相关资源时的设置,它允许用户通过 Samba 服务使用连接到服务器的打印机进行打印操作。
-write list @staff
时,表示属于 staff 组的用户可以对该共享资源进行写入操作(如创建文件、修改文件、删除文件等),而其他不在 staff 组的用户可能只有只读权限或者根据其他配置来确定其权限。这是一种基于组来管理 Samba 共享资源访问权限的方式,方便对多个用户进行统一的权限设置
2、定义Samba安全级别为share(Samba服务中的安全级别从低到高分四级:share,user,server,domain),如图所示:
3、测试访问效果:
(三)创建 Samba 用户并确保系统用户存在
- 确认系统中存在
harry
用户,执行id harry
命令。若不存在,先使用useradd xinhua
命令创建系统用户。 - 将
xinhua
用户添加到 Samba 用户库中并设置密码,执行smbpasswd - a xinhua
命令,根据提示输入密码(harryuser
)。这一步使xinhua
用户能够通过 Samba 服务访问共享资源。
如图所示:
- 设置
xinhua
用户的共享目录,并修改Samba的安全级别为user
,如图所示
(四)处理 SELinux 相关设置
- 查看 SELinux 中与 Samba 共享只读相关的布尔值,执行
getsebool - a | grep samba_export_all_ro
命令。 - 将 Samba 共享只读的 SELinux 布尔值设置为
on
,执行setsebool - p samba_export_all_ro on
命令。此操作确保 SELinux 安全策略不会阻止 Samba 共享的正常运行,使共享能够被客户端访问。
(五)重新加载并启动 Samba 服务
- 重新加载配置文件,执行
service smb reload
命令。这将使对配置文件的修改生效,而无需完全重启服务。 - 启动 Samba 服务(若尚未启动),执行
service smb restart
命令。此命令会先停止 Samba 服务,然后再重新启动,确保服务以最新配置运行。
(六)windows系统下测试xinhua
用户访问Samba服务
输入用户名和密码,最后如图所示:
共享目录中可放入文件进行下载、上传测试。
(七)linux客户端下测试与挂载 Samba服务
- 浏览共享资源:执行
smbclient -L //ip/
命令,将ip
替换为 Samba 服务器的实际 IP 地址,查看服务器上的共享资源列表,验证共享是否可被浏览。 - 挂载共享验证:执行
mount - t cifs //ip/share - o user = harry, password = harryuser 挂载点
命令,将ip
替换为服务器实际 IP,挂载点
替换为本地用于挂载共享目录的路径。此命令以harry
用户身份挂载共享资源,使用指定密码进行验证,检查是否能够成功挂载并访问共享目录,以及harry
用户是否具有只读权限。
四、实验总结
本次实验成功完成了 Samba 服务器的配置,包括服务安装、共享目录设置、用户权限管理、SELinux 配置调整、服务启动与测试。在实验过程中,需注意配置文件语法的准确性、用户权限设置的合理性、SELinux 安全策略的影响,以及服务器网络环境与实际网络环境的连通性。通过全面的测试验证,确保 Samba 服务器能够按照预期为客户端提供共享服务。