# 创建一个公共共享目录示例 sudo mkdir -p /srv/samba/share sudo chown nobody:nogroup /srv/samba/share/ sudo chmod 0775 /srv/samba/share
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak sudo nano /etc/samba/smb.conf
[Public] comment = Public Shared Folder path = /srv/samba/share browsable = yes guest ok = yes read only = no create mask = 0775 directory mask = 0775
sudo systemctl restart smbd
[Private] comment = Private Shared Folder path = /srv/samba/private browsable = yes guest ok = no read only = no valid users = @smbgroup # 仅允许 smbgroup 组成员访问 create mask = 0664 directory mask = 0775 force user = smbuser # 可选:强制以指定用户身份操作
配置项说明:
browsable:决定共享是否在网络中可见。
guest ok:设为 yes 允许匿名访问,no 则要求认证。
read only:设为 no 允许写入,yes 则只读。
valid users:指定允许访问的用户或组(@ 前缀表示组)。
create mask / directory mask:控制新建文件和目录的权限。
编辑完成后,可以用 testparm 命令检查配置语法是否有误。
Samba 使用独立的用户密码数据库,与 Linux 系统密码分开。你必须先将 Linux 用户添加到 Samba 数据库。
# 1. 如果用户还不存在,先创建 Linux 用户(以 smbuser 为例) sudo useradd -m -s /bin/bash smbuser sudo passwd smbuser # 设置一个系统密码 # 2. 将用户添加到 Samba 数据库并设置 Samba 专用密码 sudo smbpasswd -a smbuser
执行 smbpasswd -a 时会提示你输入两次 Samba 密码,这个密码可以与系统密码不同。
其他常用用户管理命令:
修改密码:sudo smbpasswd smbuser
禁用用户:sudo smbpasswd -d smbuser
启用用户:sudo smbpasswd -e smbuser
删除用户:sudo smbpasswd -x smbuser