You need to enable JavaScript to run this app.
导航

Centos7 搭建Samba服务

最近更新时间2023.12.26 10:49:02

首次发布时间2023.07.18 19:38:11

本文将介绍Centos7系统搭建并使用Samba服务。

前言

Samba在Linux中实现了服务器消息块(SMB)协议。SMB协议用于访问服务器上的资源,例如文件共享和共享打印机。此外,Samba实现了Microsoft Windows使用的分布式计算环境远程过程调用(DCE RPC)协议。

关于实验

预计实验时间:60分钟
级别:中级
相关产品:ECS
操作系统:centos7.9
受众: 通用

操作步骤

安装samba服务

  1. 执行安装命令。
    yum install samba

  2. 安装完成后,启动 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。

创建 Samba 用户和目录结构

目录结构创建

  1. 创建/samba目录
mkdir /samba
  1. 创建一个 名为的新组sambashare。稍后我们会将所有 Samba 用户添加到该组。
groupadd sambashare 
  1. 将/samba目录组所有权设置 为sambashare.
chgrp sambashare /samba

Samba 使用 Linux 用户和组权限系统,但它有自己的身份验证机制,与标准的 Linux 身份验证不同。首先使用 Linuxuseradd工具创建用户,然后使用该smbpasswd实用程序设置用户密码。

Samba 用户创建

  1. 创建一个名为 share 的新用户。
useradd -M -d /samba/share -s /usr/sbin/nologin -G sambashare share
  • -M 不创建用户的主目录。我们将手动创建此目录。
  • -d /samba/share 将用户的主目录设置为/samba/share。
  • -s /usr/sbin/nologin 禁用该用户的 shell 访问。
  • -G sambashare 将用户添加到sambashare组。
  1. 创建用户的主目录 并将目录的属主改为share属组修改为sambashare
mkdir /samba/share
chown share:sambashare /samba/share
  1. 设置目录权限
chmod 2770 /samba/share
  1. share过设置用户密码将用户帐户添加到 Samba 数据库。
smbpasswd -a share

系统将提示您输入并确认用户密码。

New SMB password:
Retype new SMB password:
Added user share.

此命令会将 setgid 位添加到/samba/share目录中,因此该目录中新创建的文件将继承父目录的组。这样,无论哪个用户创建新文件,该文件的组所有者都是sambashare
5. 设置密码后,键入以下命令启用 Samba 帐户。

smbpasswd -e share

配置Samba服务

[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