文章

smb文件共享服务器

smb文件共享服务器

常见问题

一直提示没有权限访问,请联系管理员

删除配置文件中的map to guest = bad user

不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接

img

  • Windows 客户端
1
net use * /delete
  • Linux 客户端
1
smbclient -L //smbserver -U masterke
useradd的用户和smbuser的区别
  • useradd 用户
    • 直接在系统中创建,不依赖于其他服务。
  • smbuser 用户
    • 通常需要先有一个系统用户,然后通过 smbpasswd 命令将其添加为 Samba 用户。
  1. 创建系统用户

    1
    2
    
    sudo useradd 新用户名
    sudo passwd 新用户名
    
  2. 将系统用户添加为 Samba 用户

    1
    
    sudo smbpasswd -a 新用户名
    

SMB基本配置示例

1
2
3
4
5
6
7
8
9
10
11
12
13
[global]
workgroup = WORKGROUP
netbios name = smbserver
server string = Samba Server %v
security = user
map to guest = bad user
dns proxy = no

[shared]
path = /path/to/shared/folder
valid users = user1, user2
read only = no
browsable = yes

配置解释

[global] 部分

  • workgroup: 指定SMB服务器所属的工作组名称。默认情况下,Windows网络使用WORKGROUP。
  • netbios name: 设置SMB服务器的NetBIOS名称,用于在网络中标识该服务器。
  • server string: 提供一个描述性字符串,%v会被替换为Samba的版本号。
  • security: 设置安全级别。user 表示使用用户级别的认证。
  • map to guest: 当认证失败时,将用户映射为guest用户。bad user 表示无效用户会被映射为guest。
  • dns proxy: 设置是否启用DNS代理。no 表示不启用。

[shared] 部分

  • path: 指定共享文件夹的路径。
  • valid users: 列出允许访问该共享文件夹的用户。
  • read only: 设置是否为只读访问。no 表示允许读写。
  • browsable: 设置是否在网络上可见。yes 表示可以在网络邻居中看到该共享。

配置步骤

  1. 编辑SMB配置文件: 通常SMB的配置文件位于/etc/samba/smb.conf。使用文本编辑器打开该文件。

    1
    
    sudo nano /etc/samba/smb.conf
    
  2. 添加上述配置: 将上述配置内容添加到文件中,保存并退出。

  3. 重启SMB服务: 使配置生效,需要重启SMB服务。

    1
    
    sudo systemctl restart smbd
    
  4. 添加SMB用户: 需要为SMB服务添加用户,并设置密码。

    1
    
    sudo smbpasswd -a user1
    

注意事项

  • 权限管理:确保共享文件夹的权限设置正确,以便指定的用户可以访问。
  • 防火墙设置:确保防火墙允许SMB服务的端口(通常是139和445)。
  • 安全性:在生产环境中,建议使用更高级别的安全设置,如加密传输等。
本文由作者按照 CC BY 4.0 进行授权