Linux Samba 文件共享配置与调优
坑边闲话:使用 Linux 系统做文件服务器其实很简单,需要的步骤其实相当少。本文介绍基本的共享配置流程。
1. 安装 SAMBA 服务器·
以 Debian 12 为例安装 samba
服务器:
1 | sudo apt update |
2. 添加 Samba 用户·
smb
是典型的 Client-Server 架构,基于内建的统一身份认证。在使用 smbpasswd
添加用户时,该用户名必须已经存在于 Linux 系统中,即作为一个本地系统用户存在。这是因为 Samba 的用户管理基于系统用户,但它为每个用户单独维护了一个 Samba 用户密码数据库。
如果用户尚不存在,可使用以下命令创建一个新的系统用户:
1 | sudo useradd -m -s /sbin/nologin <NEW_USERNAME> |
-m
:创建用户的主目录。-s /sbin/nologin
:指定一个无效的登录 shell 以防止用户直接登录到系统。如果你希望允许用户登录到系统,可以选择其他 shell 如/bin/bash
.
为该用户添加 Samba 用户账户: 使用 smbpasswd
为该用户设置 Samba 密码:
1 | sudo smbpasswd -a ${USERNAME} |
这会将该用户添加到 Samba 用户数据库,并要求你输入该用户的 Samba 密码。可以通过以下命令查看 Samba 用户列表:
1 | sudo pdbedit -L |
3. 创建 Samba 共享配置·
编辑 Samba 配置文件:
1 | # 也可以使用你喜欢的 editor, 如 vim |
在文件末尾添加共享目录的配置,例如:
1 | [990Pro] |
[990Pro]
: 共享的名称,可以在网络中看到,此处使用三星 990Pro 固态,故依次命名。path
: 共享目录的路径。comment
: 注释,方便客户端了解该共享的存在目的。browsable = yes
: 允许共享目录显示在网络浏览中。writable = yes
和read only = no
: 允许写入。guest ok = no
: 禁用匿名访问。create mask = 0700
和directory mask
: 用户新建文件、目录时采用的权限掩码。valid users = ${USERNAME}
: 指定允许访问的用户。如果有多个用户,可以用空格分隔,如valid users = user1 user2
。
如果共享给多个用户,可以创建一个共享组。例如:
1 | sudo groupadd sambashare |
随后将共享目录的拥有者设置为该组:
1 | sudo chgrp sambashare <SHARE_PATH> |
4. 重启 Samba 服务·
完成配置后,重启 Samba 服务以应用更改:
1 | sudo systemctl restart smbd |
总结·
完成这些步骤后,你的 Samba 共享应该可以正常工作,并允许特定用户通过网络访问!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Peng Liu's blog!
评论