CentOS 7中Samba共享服务的实验指南

一、实验环境准备
  • 操作系统:CentOS 7.x(最小安装或带 GUI 均可)
  • 网络要求:服务器与客户端在同一局域网,可互通
  • 硬件配置:至少 2GB 内存,20GB 硬盘空间
  • 角色划分
    • Samba 服务器:IP 地址 192.168.1.100
    • 客户端:Windows 10 或另一台 Linux 主机
二、Samba 服务简介

Samba 是在 Linux 和 UNIX 系统上实现 SMB(Server Message Block)协议的开源软件,用于实现跨平台文件共享,允许 Windows、Linux 等系统通过网络访问共享文件。

三、安装与配置 Samba 服务
1. 安装 Samba 软件包

bash

# 更新系统包索引
sudo yum update -y

# 安装Samba主程序及客户端工具
sudo yum install samba samba-client samba-common -y

# 确认安装成功
rpm -qa | grep samba
2. 创建共享目录并设置权限

bash

# 创建共享目录(示例:/data/share)
sudo mkdir -p /data/share

# 向目录中添加测试文件
echo "This is a Samba shared folder test file." | sudo tee /data/share/test.txt

# 设置目录权限(755表示所有者可读可写可执行,其他用户可读可执行)
sudo chmod 755 /data/share

# 设置目录所有者(可选:若需普通用户访问,可改为指定用户)
sudo chown -R nobody:nobody /data/share
3. 配置 Samba 主配置文件

bash

# 备份原始配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

# 编辑配置文件
sudo vi /etc/samba/smb.conf
配置文件示例(添加以下内容到文件末尾)

conf

[share]
   comment = Public Samba Share
   path = /data/share
   browseable = yes
   writeable = yes
   guest ok = yes         # 允许来宾访问(无需密码)
   guest only = yes       # 强制来宾访问
   read only = no         # 允许写入
   create mask = 0755     # 新建文件权限
   directory mask = 0755  # 新建目录权限
4. 启动与配置 Samba 服务

bash

# 启动Samba服务
sudo systemctl start smb nmb

# 设置服务开机自启动
sudo systemctl enable smb nmb

# 检查服务状态(确保Active: active (running))
sudo systemctl status smb
5. 配置防火墙允许 Samba 端口

bash

# 添加Samba服务到防火墙规则
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
四、访问 Samba 共享(客户端测试)
1. Windows 客户端访问
  • 方法一:通过文件资源管理器

    1. 打开此电脑,点击映射网络驱动器
    2. 在地址栏输入 \\192.168.1.100\share(IP 替换为实际服务器 IP)
    3. 若配置guest ok = yes,可直接访问;否则输入服务器用户名和密码
  • 方法二:通过运行命令

    1. Win+R打开运行窗口,输入 \\192.168.1.100
    2. 双击share文件夹即可访问
2. Linux 客户端访问

bash

# 安装Samba客户端(若未安装)
sudo yum install samba-client -y

# 列出服务器共享(可选)
smbclient -L //192.168.1.100 -U guest

# 挂载共享目录到本地(示例:挂载到/mnt/samba)
sudo mkdir -p /mnt/samba
sudo mount -t cifs //192.168.1.100/share /mnt/samba -o guest

# 访问共享文件
ls /mnt/samba

# 卸载共享
sudo umount /mnt/samba
五、进阶配置:用户认证共享

若需限制非授权用户访问,可配置用户认证共享:

1. 创建系统用户并添加到 Samba

bash

# 创建系统用户(示例:user1)
sudo useradd user1
sudo passwd user1  # 设置系统密码

# 将用户添加到Samba用户列表(需输入Samba密码)
sudo smbpasswd -a user1
2. 修改共享配置(取消来宾访问,启用用户认证)

conf

[secure_share]
   comment = Secure Samba Share
   path = /data/secure_share
   browseable = yes
   writeable = yes
   guest ok = no        # 禁止来宾访问
   read only = no
   valid users = user1  # 允许访问的用户(可添加多个:user1,user2)
3. 重启 Samba 服务使配置生效

bash

sudo systemctl restart smb nmb
六、常见问题与解决方案
问题现象可能原因解决方案
无法访问共享防火墙阻止检查防火墙规则,允许 Samba 服务
提示权限不足目录权限错误检查共享目录权限,确保用户有读写权限
连接超时网络不通或服务未启动检查 IP 连通性,重启 Samba 服务
用户名密码错误Samba 用户未正确添加使用smbpasswd -a添加用户,确保密码正确
七、安全建议
  1. 避免将重要文件放在guest ok = yes的共享目录中
  2. 定期更新 Samba 软件:sudo yum update samba -y
  3. 限制可访问 IP:在配置文件中添加hosts allow = 192.168.1.
  4. 启用 SELinux 时,需设置正确的上下文:

    bash

    sudo chcon -t samba_share_t /data/share
    

通过以上步骤,你已成功在 CentOS 7 上搭建了 Samba 共享服务。根据需求可灵活调整共享权限和访问方式,实现跨平台文件共享功能。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值