type
status
date
slug
summary
tags
category
icon
password
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 上下文
配置防火墙
重启并启用 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
为了实验方便,关闭Selinux
vim /etc/selinux/config
改成disabled查看selinux状态
sestatus
1.创建组别
2.新建用户并加入到组
3.创建目录
mkdir /home/student
4.更改目录所有者及权限
5.创建samba用户
6.编辑samba配置文件
vim /etc/samba/smb.conf
7.设置防火墙
8.重启samba服务,并开启开机自启
9.测试
再举个栗子

共4个组别:system test product develop
7个共享目录:system test product develop developandtest public ziliaoku
具体过程:
关闭selinux
[root@lanechow ~]#vim /etc/selinux/config
改成disabled [root@lanechow ~]#mkdir -p /share/{system,develop,test,product,developandtest,public,ziliaoku}
[root@lanechow ~]# groupadd system
[root@lanechow ~]# groupadd develop
[root@lanechow ~]# groupadd test
[root@lanechow ~]# groupadd product
[root@lanechow ~]# useradd -G system user1
[root@lanechow ~]# useradd -G develop user2
[root@lanechow ~]# useradd -G test user3
[root@lanechow ~]# useradd -G product user4
[root@lanechow ~]# chown user2:develop /share/develop
[root@lanechow ~]# chmod 770 /share/*
[root@lanechow ~]# chown user3:test /share/test
[root@lanechow ~]# chown user4:product /share/product
[root@lanechow ~]# chown user1:system /share/system
[root@lanechow ~]# chmod 644 /share/ziliaoku
[root@lanechow ~]# chmod 777 /share/public
[root@lanechow ~]# setfacl -m g:test:rwx /share/developandtest
[root@lanechow ~]# setfacl -m g:develop:rwx /share/developandtest
[root@lanechow ~]# chmod 700 /share/developandtest
[root@lanechow ~]# setfacl -m g:system:rwx /share/
[root@lanechow ~]# setfacl -m d:g:system:rwx /share/
[root@lanechow ~]# vim /etc/samba/smb.conf

[root@lanechow ~]# smbpasswd -a user1
[root@lanechow ~]# smbpasswd -a user2
[root@lanechow ~]# smbpasswd -a user3
[root@lanechow ~]# smbpasswd -a user4
[root@lanechow ~]# chcon -t samba_share_t /share
[root@lanechow ~]# restorecon -R /share
[root@lanechow ~]# firewall-cmd --permanent --add-service=samba
[root@lanechow ~]# firewall-cmd --reload
[root@lanechow ~]# systemctl restart smb
[root@lanechow ~]# systemctl enable smb
- Author:Gweek
- URL:https://www.myla.eu.org/article/linux-samba-server-setup-and-configuration
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!