一.SAMBA概念
SMB(Sserver Message Block)协议实现文件共享,也称CIFS(Common Internet File System)是Windows和Linux/Unix系统之间共享文件的一种协议。
二.SAMBA核心组件
smbd:核心服务,负责处理文件和打印机的共享,管理用户身份验证和权限控制。
nmbd:名称解析服务。负责处理 NetBIOS 名称解析,让其他计算机能通过主机名找到你的 Samba 服务器。
三.SAMBA搭建实操
1.安装SAMBA
yum -y install samba
通过 rpm -qa | grep samba 查看相关软件包
samba-common-4.7.1-6.el7.noarch
samba-common-libs-4.7.1-6.el7.x86_64
samba-client-libs-4.7.1-6.el7.x86_64
samba-libs-4.7.1-6.el7.x86_64
samba-4.7.1-6.el7.x86_64
samba-common-tools-4.7.1-6.el7.x86_64
2.查看SAMBA配置文件并配置
命令: cat /etc/samba/smb.conf
[global](全局设置)
workgroup = SAMBA # 工作组名称,默认是 SAMBA
security = user # 安全模式:用户认证(需要用户名密码)
passdb backend = tdbsam # 用户密码存储格式(tdbsam 是本地数据库)
printing = cups # 使用 CUPS 打印系统
printcap name = cups # 打印机配置由 CUPS 管理
load printers = yes # 自动加载 CUPS 打印机
cups options = raw # 打印数据直接发送(不转换格式)
[homes](用户家目录共享)
comment = Home Directories # 共享描述
valid users = %S, %D%w%S # 允许访问的用户(%S 是当前登录用户)
browseable = No # 不在网络上显示共享名
read only = No # 可读写(非只读)
inherit acls = Yes # 继承父目录的 ACL 权限
[printers](打印机共享)
comment = All Printers # 共享描述
path = /var/tmp # 打印任务临时目录
printable = Yes # 允许打印
create mask = 0600 # 创建文件的权限(仅所有者可读写)
browseable = No # 不在网络上显示共享名
[print$](打印机驱动共享)
comment = Printer Drivers # 共享描述
path = /var/lib/samba/drivers # 驱动存储路径
write list = @printadmin root # 允许写入的用户/组
force group = @printadmin # 强制文件属组
create mask = 0664 # 创建文件的权限
directory mask = 0775 # 创建目录的权限
写入以下配置段
[samba_share]
comment = samba service
path = /samba/share
guest ok = no
writable = yes
3.创建共享目录/samba/share并创建一个文件
[root@web1 ~]# mkdir -p /samba/share
[root@web1 ~]# echo "狡猾的小子" >> /samba/share/test.txt
[root@web1 ~]# ll /samba/share/test.txt
total 4
-rw-r--r--. 1 root root 16 Oct 11 09:01 test.txt
4.创建共享用户
[root@web1 ~]# useradd samba1
[root@web1 ~]# smbpasswd -a samba1
New SMB password:
Retype new SMB password:
Added user samba1.
5.配置防火墙规则和selinux安全上下文放权
firewalld添加放行规则
[root@web1 ~]# firewall-cmd --permanent --add-service=samba
success
[root@web1 ~]# firewall-cmd --permanent --add-port=445/tcp
success
[root@web1 ~]# firewall-cmd --permanent --add-port=139/tcp
success
[root@web1 ~]# firewall-cmd --permanent --add-port=137-138/udp
success
[root@web1 ~]# firewall-cmd --reload
success
selinux上下文放权
[root@web1 ~]# semanage fcontext -a -t samba_share_t "/samba/share(/.*)?"
[root@web1 ~]# restorecon -Rv /samba/share
restorecon reset /samba/share context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:samba_share_t:s0
restorecon reset /samba/share/test.txt context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:samba_share_t:s0
6.Windows通过samba文件共享连接Linux
这里用的windows11

IP地址后为你配置主配配置文件的写的名称

填写你配置的用户与密码


7.授权对samba1用并进行读写操作
[root@web1 ~]# chown -R samba1:samba1 /samba/share
[root@web1 ~]# ll /samba/share
total 4
-rwxr-xr-x. 1 samba1 samba1 16 Oct 11 09:01 test.txt



至此操作完成。
8234

被折叠的 条评论
为什么被折叠?



