Linux Samba服务器

Samba是什么
Samba 是一个开源的软件套件,用于在 Linux 和类 Unix 系统上实现 SMB/CIFS 协议。它允许 Linux/Unix 系统上的文件和打印资源能够被 Windows 客户端访问,实现了在不同操作系统之间共享文件和打印机的功能。
Samba 使用的主要协议是 SMB(Server Message Block),它是一种在网络上共享文件、打印机和其他资源的通信协议。SMB 协议提供了一种客户端/服务器模型,客户端可以请求服务器上的共享资源,服务器则向客户端提供这些资源。
Samba 默认使用以下端口:
TCP 端口 139:早期版本的 SMB 服务使用此端口,主要用于文件共享和打印机服务。
TCP 端口 445:新版本的 SMB 服务通常使用此端口,它提供了更快速和安全的数据传输。
总的来说,Samba 是一个用于在 Linux 和类 Unix 系统上实现 Windows 文件和打印机共享的软件,它使用 SMB/CIFS 协议,并通常使用 TCP 端口 139 和 445。
添加Samba服务器作为文件服务器,工作组名为WORKGROUP,发布共享目录/share,共享名为public,这个共享目录允许公司所有员工访问。
安装 Samba
sudo yum install samba -y
创建共享目录
mkdir /share
编辑配置文件 /etc/samba/smb.conf
vim /etc/samba/smb.conf
设置 SELinux 上下文
1 | chcon -t samba_share_t /share |
配置防火墙
1 | firewall-cmd --permanent --add-service=samba |
重启并启用 Samba 服务
systemctl restart smb
测试
Windows 打开 文件管理器输入 \目标IP地址或主机名 断开已连接的用户命令:net use * /del
Linux 系统 smbclient //目标IP地址或主机名/共享目录 -U 用户名%密码
Share Definitions 其他设置参数
public = yes
#允许匿名访问
public = no
#禁止匿名访问
browseable = yes
#共享资源在网络浏览列表中可见
browseable = no
#共享资源在网络浏览列表中隐藏,如需访问通过完全路径访问
hosts allow = 192.168.10. server.hello.com
#表示允许来自192.168.10网段或server.hello.com的主机访问
hosts deny =192.168.1.
#表示不允许192.168.1网段的主机访问。 如果allow和deny冲突,allow优先
valid users = username
#指定哪些用户和组可以访问共享目录,多个用“,”隔开
valid users = @组名
read only = yes
#只读
read only = no
#读写
write list = 用户名
write list = @组名
举个栗子
建立共享目录student,它的本机路径为/home/student,只有teacher组的用户可以读写该目录,student用户只能读取
过程:
安装samba服务器yum install samba -y
为了实验方便,关闭Selinuxvim /etc/selinux/config
改成disabled
查看selinux状态sestatus
1.创建组别
1 | groupadd teacher |
2.新建用户并加入到组
1 | useradd -G teacher user1 |
3.创建目录
mkdir /home/student
4.更改目录所有者及权限
1 | chown user1:teacher /home/student |
5.创建samba用户
1 | smbpasswd -a user1 |
6.编辑samba配置文件
vim /etc/samba/smb.conf
7.设置防火墙
1 | firewall-cmd --permanent --add-service=samba |
8.重启samba服务,并开启开机自启
1 | systemctl restart smb |
9.测试
- Title: Linux Samba服务器
- Author: Gweek
- Created at : 2024-04-26 00:00:00
- Updated at : 2024-09-13 14:08:11
- Link: https://gweek.nyc.mn/2024/04/25/2024-04-26-samba/
- License: This work is licensed under CC BY-NC-SA 4.0.