2025年1月15日

HYEOS

随事而为

Debian SMB

2 min read
apt 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 的认证方式,可以通过以下配置实现,同时保留严格的用户和目录访问控制。
配置步骤

  1. 安装必要的软件包
    确保 Samba 和相关 PAM 模块已经安装:

bash
复制代码
sudo apt update
sudo apt install samba libpam-smbpass

  1. 使用系统用户和密码
    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

  1. 添加用户到 Samba
    bash
    复制代码
    sudo smbpasswd -a hyeos
    sudo smbpasswd -a kfqtw
  2. 重启 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 将接受所有网络的连接,但防火墙会进一步确保安全性

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注