参考:https://wiki.samba.org/index.php/User_Documentation

由于家里内网需要一个共享存储服务,用来存放一些蓝光电影资源😜。至于为什么不用 ftp,个人主观体验后,还是觉得 samba 更简单好用。

安装

新建一个虚拟机。

  • 系统:CentOS Linux release 7.9.2009 (Core)

  • 配置:2C4G2T

  • 存储路径:/data/samba

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
yum install samba -y

创建共享目录和用户:

mkdir -p /data/samba
useradd -s /sbin/nologin -M test01
smbpasswd -a test01

配置

配置文件说明

配置分为两部分:

  • global(全局)

  • share(共享)

global

参数

说明

workgroup

the Windows NT domain name or workgroup name, for example, MYGROUP.

server string

Windows NT 描述说明

netbios name

服务器名,限制 15 个字符,可以自定义,并非必须为当前主机名

interfaces

指定监听的网卡,例如 interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24

hosts allow

允许访问的 IP 或 IP 段,例如hosts allow = 127. 192.168.12. 192.168.13.

hosts deny

不允许访问的IP或者IP段

max connections

max connections 用来指定连接 Samba Server 的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。

deadtime

deadtime 用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0 代表 Samba Server 不自动切断任何连接。

日志相关配置(Logging Options)

参数

说明

log file

日志文件路径

max log size

日志文件大小上限,超过上限就轮转,单位:KB

独立服务器相关配置(Standalone Server Options)

参数

说明

security

安全模式,可以是 user、share、server、domain。建议配置security = user,用户认证

passdb backend

用于存储用户信息,可以是 tdbsam 或 ldapsam。

Share Definitions

参数

说明

comment

该共享的描述

path

共享目录路径

browseable

浏览权限

writable

写权限

available

可用权限

admin users

该共享的管理者

valid users

允许访问该共享的用户

invalid users

禁止访问该共享的用户

public

public 用来指定该共享是否允许 guest 账户访问。

write list

允许写入该共享的用户

guest ok

同 public

create mask

创建文件时赋予文件的权限

directory mask

创建文件夹时赋予文件夹的权限

配置文件

/etc/samba/smb.conf

[global]
    netbios name = SAMBASERVER
    server string = Samba Server Version %v
    security = USER
    log file = /var/log/samba/log.%m
    max log size = 1000
    passdb backend = tdbsam
​
[temp]
        comment = samba 
        path = /data/samba       
        public = no                
        writable = yes              
        directory mask = 0644       
        create mask = 0755          
        valid users = test01 
        write list = test01 
        browseable = yes             
        available = yes   

一般用以上配置使用即可,若企业环境又域控,则建议参考官方文档配置。

检查配置语法

修改完配置后,可以执行testparm检查/etc/samba/smb.conf的语法是否正确。

[root@test ~]# testparm 
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
​
Press enter to see a dump of your service definitions
​

启动

若配置检查没有问题,即可开启服务。

systemctl start smb
systemctl enable smb # 设置开机自启

至于 Win10 挂载 amba,操作很简单,这里就不详细赘述了。