本文将介绍Centos7系统搭建并使用Samba服务。
Samba在Linux中实现了服务器消息块(SMB)协议。SMB协议用于访问服务器上的资源,例如文件共享和共享打印机。此外,Samba实现了Microsoft Windows使用的分布式计算环境远程过程调用(DCE RPC)协议。
预计实验时间:60分钟
级别:中级
相关产品:ECS
操作系统:centos7.9
受众: 通用
执行安装命令。yum install samba
安装完成后,启动 Samba 服务并让它们在系统启动时自动启动.
systemctl start smb.service systemctl start nmb.service systemctl enable smb.service systemctl enable nmb.service
smbd
服务提供文件共享和打印服务并侦听 TCP 端口 139 和 445,nmbd
服务向客户端提供 NetBIOS over IP 命名服务并侦听 UDP 端口 137。
mkdir /samba
groupadd sambashare
chgrp sambashare /samba
Samba 使用 Linux 用户和组权限系统,但它有自己的身份验证机制,与标准的 Linux 身份验证不同。首先使用 Linuxuseradd工具创建用户,然后使用该smbpasswd实用程序设置用户密码。
share
的新用户。useradd -M -d /samba/share -s /usr/sbin/nologin -G sambashare share
mkdir /samba/share chown share:sambashare /samba/share
chmod 2770 /samba/share
smbpasswd -a share
系统将提示您输入并确认用户密码。
New SMB password: Retype new SMB password: Added user share.
此命令会将 setgid 位添加到/samba/share目录中,因此该目录中新创建的文件将继承父目录的组。这样,无论哪个用户创建新文件,该文件的组所有者都是sambashare
5. 设置密码后,键入以下命令启用 Samba 帐户。
smbpasswd -e share
[global] # samba 工作组 workgroup = mygroup # 服务器的说明字符串,%V 表示服务器的版本号 server string=smb server %V # 安全模式,user 表示需要身份验证 security = user # samba 服务器名, 最长15个字符 netbios name = myserver #拒绝非法用户登录 map to guest = bad user # samba 服务器日志 log file = /var/log/samba/smblog # 服务器日志最大大小,单位:KB # 服务器 会定期检查大小,如果超过,它将重命名文件,添加 .old 扩展名 # 为 0 表示没有限制 max log size = 10000 [share] # share 用户的共享的目录 path = /samba/share #该共享是否应列在可用共享列表中。通过设置为 no 其他用户将无法看到共享。 browseable = no #列表中指定的用户是否能够写入此共享 read only = no #设置此共享中新创建文件的权限。 force create mode = 0660 #设置此共享中新创建的目录的权限。 force directory mode = 2770 #允许访问共享的用户和组的列表。组以@符号为前缀。 valid users = share @sadmin
注意
在实际部署过程,将相关注释以及相关空行进行删除。
关于Samba服务更多配置项请参考官方文档:samba.org