Debian SMB
2 min readapt install samba
更新配置文件 /etc/samba/smb.conf
[global]
# 工作组和网络设置
workgroup = WORKGROUP
server string = Samba Server
netbios name = debian
security = user
passdb backend = tdbsam
obey pam restrictions = yes
pam password change = yes
unix password sync = yes
map to guest = bad user
# 允许所有网络访问
interfaces = 0.0.0.0/0 ::/0
bind interfaces only = no
# 日志和调试
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
# 性能优化
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
preferred master = auto
dns proxy = no
# 编码支持
unix charset = UTF-8
dos charset = CP932
# 禁用 SMB1 协议(更安全)
min protocol = SMB2
smb ports = 445
# 共享目录配置
[hyeos_share]
comment = Shared Folder for hyeos
path = /var/sharedir/hyeos
valid users = hyeos
force user = hyeos
force group = hyeos
create mask = 0660
directory mask = 0770
read only = no
browsable = yes
writable = yes
guest ok = no
[kfqtw_share]
comment = Shared Folder for KFQTW
path = /var/sharedir/kfqtw
valid users = kfqtw
force user = kfqtw
force group = kfqtw
create mask = 0660
directory mask = 0770
read only = no
browsable = yes
writable = yes
guest ok = no
创建共享目录
sudo mkdir -p /var/sharedir/hyeos /var/sharedir/kfqtw
如果要使用系统的用户和密码作为 Samba 的认证方式,可以通过以下配置实现,同时保留严格的用户和目录访问控制。
配置步骤
- 安装必要的软件包
确保 Samba 和相关 PAM 模块已经安装:
bash
复制代码
sudo apt update
sudo apt install samba libpam-smbpass
- 使用系统用户和密码
Samba 可以同步系统用户和密码。以下步骤确保 Samba 使用系统用户:
创建系统用户:
bash
复制代码
sudo useradd -m hyeos
sudo useradd -m kfqtw
创建用户
sudo useradd -m hyeos
sudo useradd -m kfqtw
设置密码
sudo passwd hyeos
sudo passwd kfqtw
设置目录权限
sudo chown hyeos:hyeos /var/sharedir/hyeos
sudo chmod 770 /var/sharedir/hyeos
sudo chown kfqtw:kfqtw /var/sharedir/kfqtw
sudo chmod 770 /var/sharedir/kfqtw
- 添加用户到 Samba
bash
复制代码
sudo smbpasswd -a hyeos
sudo smbpasswd -a kfqtw - 重启 Samba 服务
bash
复制代码
sudo systemctl restart smbd
sudo systemctl restart nmbd
注意事项
允许所有网络访问:
interfaces = 0.0.0.0/0 ::/0 表示允许 IPv4 和 IPv6 下所有网络访问。
安全性:
允许所有网络访问时,请确保用户和密码设置足够强。
如果你的服务器直接连接到互联网,请通过防火墙限制对 Samba 的访问,仅允许特定 IP 或网段连接。
bash
复制代码
sudo ufw allow from 192.168.0.0/24 to any app Samba
测试配置: 使用以下命令检查配置是否正确:
bash
复制代码
testparm
客户端访问:
使用 \<服务器IP>\hyeos_share 或 \<服务器IP>\kfqtw_share 访问共享资源,登录时使用系统用户名和密码。
防火墙配置(可选)
为了避免意外的安全漏洞,可以通过防火墙限制非信任网络的访问:
bash
复制代码
sudo ufw allow Samba
sudo ufw enable
这样设置后,Samba 将接受所有网络的连接,但防火墙会进一步确保安全性