Skip to content

Ubuntu Samba (SMB) 服务器配置指南

一、服务器端配置

1. 安装 Samba 服务

在 Ubuntu 系统中,可以通过以下命令安装 Samba 服务:

sudo apt-get install samba

2. 创建共享目录

创建一个目录用于共享,并设置适当的权限:

sudo mkdir -p /home/samba/share
sudo chmod 777 /home/samba/share

3. 配置 Samba

编辑 Samba 配置文件 /etc/samba/smb.conf,在文件末尾添加以下内容:

[share]
   comment = Shared Folder
   path = /home/samba/share
   browseable = yes
   read only = no
   guest ok = no
   valid users = @sambashare

4. 创建用户和用户组

创建一个用户组,并添加用户到该组:

sudo groupadd sambashare
sudo useradd -m -G sambashare username
sudo smbpasswd -a username

5. 设置文件权限

确保共享目录的权限正确:

sudo chown -R :sambashare /home/samba/share
sudo chmod -R 2775 /home/samba/share

6. 重启 Samba 服务

重启 Samba 服务以应用更改:

sudo service smbd restart

二、客户端配置与访问

1. 安装客户端工具

在客户端机器上安装 Samba 客户端工具:

sudo apt install smbclient cifs-utils

2. 查看共享目录

使用以下命令查看 Samba 服务器上的共享目录:

smbclient -L //SERVER_IP -N

3. 挂载共享目录

将 Samba 共享目录挂载到本地目录:

sudo mount -t cifs //SERVER_IP/share /mnt -o username=username

三、多用户权限配置

1. 创建多个用户和组

创建多个用户并将它们添加到相应的组中:

sudo useradd user1
sudo useradd user2
sudo smbpasswd -a user1
sudo smbpasswd -a user2
sudo groupadd group1
sudo groupadd group2
sudo gpasswd -a user1 group1
sudo gpasswd -a user2 group2

2. 配置多用户权限

/etc/samba/smb.conf 中配置不同用户的权限:

[public]
   comment = Public Share
   path = /home/samba/public
   read only = no
   valid users = @group1, @group2

[private]
   comment = Private Share
   path = /home/samba/private
   read only = no
   valid users = @group1

3. 创建对应的目录并设置权限

sudo mkdir -p /home/samba/public
sudo mkdir -p /home/samba/private
sudo chown -R :group1 /home/samba/public
sudo chown -R :group1 /home/samba/private
sudo chmod -R 770 /home/samba/public
sudo chmod -R 770 /home/samba/private

四、防火墙配置

确保防火墙允许 Samba 流量通过:

sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
sudo ufw allow 137/udp
sudo ufw allow 138/udp

五、测试与验证

1. 在服务器上测试

使用 testparm 命令检查 Samba 配置文件的语法:

testparm

2. 在客户端访问

在 Windows 客户端上,可以通过以下路径访问 Samba 共享:

\\SERVER_IP\share

输入相应的用户名和密码进行验证。

六、常见问题与解决方法

1. 用户无法访问共享目录

  • 确保用户已添加到 Samba 用户列表中。
  • 检查目录权限是否正确。

2. 权限不足问题

  • 确保目录权限和 Samba 配置中的权限一致。
  • 检查用户是否属于正确的组。

3. 防火墙阻止连接

  • 确保防火墙规则允许 Samba 所需的端口。

通过以上步骤,您可以在 Ubuntu 上成功配置 Samba 服务器,并实现多用户不同权限的文件共享。

Ref

https://blog.csdn.net/EGM_NB/article/details/127763051 https://blog.csdn.net/qq_41260462/article/details/110527693 https://blog.csdn.net/dslobo/article/details/108175737