安装samba

pkg install -y samba413

开机自启

service samba_server enable

创建配置文件

vim /usr/local/etc/smb4.conf

写入以下内容

# 这是主要的 Samba 配置文件。你应该阅读
# smb.conf(5) 手册页以了解列出的选项
# 这里。 Samba 有大量的可配置选项(也许也有
# 很多!)其中大部分未在此示例中显示
#
# 有关安装、配置和使用 samba 的分步指南,
# 阅读 Samba-HOWTO-Collection。这可以从:
# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
#
# smb.conf 文件的许多工作示例可以在
# Samba-Guide 每天生成,可从以下位置下载:
# http://www.samba.org/samba/docs/Samba-Guide.pdf
#
# 任何以 ; 开头的行(分号)或 #(哈希)
# 是注释,被忽略。在本例中,我们将使用 #
# 用于评论和 a ;对于您配置的部分配置文件
# 不妨启用
#
# 注意:每当你修改这个文件时,你应该运行命令“testparm”
# 检查你没有犯任何基本的语法错误。
#
#======================= 全局设置 ========================
[global]

# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
workgroup = MYGROUP

# 服务器字符串相当于 NT 描述字段
server string = Samba Server

# 服务器角色。 定义 Samba 将以何种模式运行。 可能的
# 值为“独立服务器”、“成员服务器”、“经典主服务器”
# 域控制器”、“经典备份域控制器”、“活动
# 目录域控制器”。
#
# 大多数人会想要“独立服务器”或“成员服务器”。
# 作为“活动目录域控制器”运行将首先需要
# 运行“samba-tool domain provision”来擦除数据库并创建一个
# 新域名。
server role = standalone server

# 此选项对安全性很重要。 它允许您限制
# 连接到本地网络上的机器。 这
# 以下示例限制对两个 C 类网络的访问和
# “环回”接口。 有关语法的更多示例,请参见
# smb.conf 手册页
;   hosts allow = 192.168.1. 192.168.2. 127.

# 如果你想要一个访客帐号,请取消注释,你必须将它添加到 /etc/passwd
# 否则使用用户“nobody”
;  guest account = pcguest

# 这告诉 Samba 为每台机器使用单独的日志文件
# 连接
log file = /usr/local/samba/var/log.%m

# 设置日志文件大小的上限(以 Kb 为单位)。
max log size = 50

# 指定主机所属的 Kerberos 或 Active Directory 领域
;   realm = MY_REALM

# 用于存储用户信息的后端。新安装应
# 使用 tdbsam 或 ldapsam。 smbpasswd 可用于向后
#兼容性。 tdbsam 不需要进一步配置。
;   passdb backend = tdbsam

# 使用以下行使您能够自定义配置
# 在每台机器的基础上。 %m 被替换为 netbios 名称
# 正在连接的机器。
# 注意:仔细考虑在配置文件中的位置
# 这一行。 此时会读取包含的文件。
;   include = /usr/local/samba/lib/smb.conf.%m

# 配置 Samba 使用多个接口
# 如果你有多个网络接口,那么你必须列出它们
# 这里。 有关详细信息,请参见手册页。
;   interfaces = 192.168.12.2/24 192.168.13.2/24 

# 粗纱配置文件的存储位置(仅适用于 Win95 和 WinNT)
# %L 替换此服务器的 netbios 名称,%U 是用户名
# 您必须取消注释下面的 [Profiles] 共享
;   logon path = \\%L\Profiles\%U

# Windows Internet 名称服务支持部分:
# WINS 支持 - 告诉 Samba 的 NMBD 组件启用它的 WINS 服务器
;   wins support = yes

# WINS 服务器 - 告诉 Samba 的 NMBD 组件成为 WINS 客户端
# 注意:Samba 可以是 WINS 服务器,也可以是 WINS 客户端,但不能同时是两者
;   wins server = w.x.y.z

# WINS 代理 - 告诉 Samba 回答名称解析查询
# 代表不支持 WINS 的客户端,为此必须有
# 网络上至少有一个 WINS 服务器。 默认为否。
;   wins proxy = yes

# DNS 代理 - 告诉 Samba 是否尝试解析 NetBIOS 名称
# 通过 DNS nslookups。 默认为否。
dns proxy = no 

# 这些脚本用于域控制器或单机
# 机器添加或删除对应的unix账号
;  add user script = /usr/sbin/useradd %u
;  add group script = /usr/sbin/groupadd %g
;  add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
;  delete user script = /usr/sbin/userdel %u
;  delete user from group script = /usr/sbin/deluser %u %g
;  delete group script = /usr/sbin/groupdel %g


#============================ 共享定义 ==============================
[homes]
comment = Home Directories
browseable = no
writable = yes

# 取消注释以下内容并为域登录创建 netlogon 目录
; [netlogon]
;   comment = Network Logon Service
;   path = /usr/local/samba/lib/netlogon
;   guest ok = yes
;   writable = no
;   share modes = no


# 取消注释以下内容以提供特定的巡回简介共享
# 默认是使用用户的主目录
;[Profiles]
;    path = /usr/local/samba/profiles
;    browseable = no
;    guest ok = yes


# 注意:如果您有 BSD 风格的打印系统,则无需
# 专门定义每个单独的打印机
[printers]
comment = All Printers
path = /usr/spool/samba
browseable = no
# 设置 public = yes 允许用户 'guest' 打印
guest ok = no
writable = no
printable = yes

# 这个对人们共享文件很有用
;[tmp]
;   comment = Temporary file space
;   path = /tmp
;   read only = no
;   public = yes

# 一个可公开访问的目录,但只读,除了
# “员工”组
;[public]
;   comment = Public Stuff
;   path = /home/samba
;   public = yes
;   writable = no
;   printable = no
;   write list = @staff

# 其他例子。
#
# 一个私人打印机,只有 fred 可以使用。 假脱机数据将放在fred's
# 主目录。 请注意,fred 必须对 spool 目录具有写入权限,
# 无论在哪里。
;[fredsprn]
;   comment = Fred's Printer
;   valid users = fred
;   path = /homes/fred 
;   printer = freds_printer
;   public = no
;   writable = no
;   printable = yes

# 一个私有目录,只有 fred 可以使用。 请注意,fred 需要 write
# 访问目录。
;[fredsdir]
;   comment = Fred's Service
;   path = /usr/somewhere/private
;   valid users = fred
;   public = no
;   writable = yes
;   printable = no

# 一个服务,每个连接的机器都有不同的目录
# 这允许您为传入的机器定制配置。 你可以
# 还可以使用 %U 选项按用户名对其进行定制。
# %m 被替换为正在连接的机器名。
;[pchome]
;  comment = PC Directories
;  path = /usr/pc/%m
;  public = no
;  writable = yes

# 一个可公开访问的目录,对所有用户读/写。 注意所有文件
# users 在目录中创建的将归默认用户所有,所以
# 任何有权访问的用户都可以删除任何其他用户的文件。 显然这
# 目录必须是默认用户可写的。 另一个用户当然可以
# 指定,在这种情况下,所有文件将由该用户拥有。
;[public]
;   path = /usr/somewhere/else/public
;   public = yes
;   only guest = yes
;   writable = yes
;   printable = no

# 以下两个条目演示了如何共享一个目录,以便两个
# 用户可以在那里放置特定用户拥有的文件。 在这
# setup,目录应该是两个用户都可以写的,并且应该有
# 在其上设置粘性位以防止滥用。 显然这可以扩展到
# 尽可能多的用户。
;[myshare]
;   comment = Mary's and Fred's stuff
;   path = /usr/somewhere/shared
;   valid users = mary fred
;   public = no
;   writable = yes
;   printable = no
;   create mask = 0765

启动samba

service samba_server start

Windows访问samba

在运行框里输入\samba服务器的IP

怎么打开运行框?win+r

添加samba用户

smbpasswd -a 用户名
密码:
密码:

完结

最后修改:2022 年 07 月 02 日
赏点儿?