Ubuntu上搭建一个共享库,解决局域网内大文件传输问题,非常快速安全。

1. 安装 Samba

安装 Samba 服务,如果尚未安装,可以使用以下命令:

sudo apt update
sudo apt install samba

2. 创建用户和用户组

#创建一个名为 smbusers 的用户组
sudo addgroup smbusers

#创建一个名为 smb 的用户
sudo adduser smb

#将 smb 添加到 smbusers 用户组
sudo usermod -aG smbusers smb  

3. 创建共享目录

创建希望共享的目录,假设我们要创建的共享目录是 /srv/samba

sudo mkdir -p /srv/samba
sudo chown smb:smbusers /srv/samba
sudo chmod 0777 /srv/samba

4. 编辑 Samba 配置文件

为 Samba 添加用户

#使用 smbpasswd 命令为用户创建 Samba 密码
sudo smbpasswd -a smb

打开 Samba 配置文件 /etc/samba/smb.conf 进行编辑:

sudo nano /etc/samba/smb.conf

在文件末尾添加以下内容以配置共享:

[samba]
   path = /srv/samba  
   public = no    
   writable = yes  
   browseable = yes  
   valid users = smb 
   guest ok = no  

解释配置选项:

  • path: 指定共享目录的路径。
  • public: 设置为no,非公共的
  • writable: 设置为 yes,允许写入。
  • browseable: 设置为 yes,允许浏览。
  • guest ok: 设置为 no,不允许非授权用户访问。
  • valid users: 只允许 smb用户访问。

5. 保存并退出

nano 编辑器中,按 CTRL + X,然后按 Y 确认保存,最后按回车键退出。

6. 重启 Samba 服务

为了使配置更改生效,重启 Samba 服务:

sudo systemctl restart smbd

7. 直接通过 IP 地址访问共享

7.1 Windows 系统

在 Windows 系统中,可以通过以下步骤直接访问共享:

  1. 打开文件资源管理器。

  2. 在地址栏中输入以下地址并按回车:

    \<你的服务器IP>
    

    例如,如果你的 Samba 服务器 IP 地址是 192.168.1.100,则输入:

    \192.168.1.100
    
  3. 根据提示输入账号密码,例如前面设置的账号smb和通过sudo smbpasswd -a smb设置的密码。

  4. 你应该能够看到 Samba 共享文件夹 samba,可以进行相应的文件操作。

  5. 选中文件夹鼠标右键可以添加为网络驱动映射,添加后访问该文件夹跟访问本地磁盘一样方便,非常适合公司内网大文件传输。

7.2 Linux 系统

在 Linux 系统中,可以通过以下命令挂载 Samba 共享:

  1. 使用以下命令访问 Samba 共享:
    smbclient //192.168.1.100/samba -U smb
    

    你可以直接用命令行访问,或者安装文件管理器插件(如 Nautilus)并使用“连接到服务器”功能。

  2. 输入命令后,确保可以看到共享文件夹进行文件操作。

8. 故障排除

  • 确保 Samba 服务在运行:

    sudo systemctl status smbd
    
  • 检查 Samba 配置文件的语法:
    testparm
    
  • 查看 Samba 日志文件,通常位于 /var/log/samba/,以获得更多错误信息。

  • 确保防火墙允许 Samba 使用的端口。

    • 查看 UFW 状态(如果你在使用 UFW):
    sudo ufw status  
    
    • 添加 Samba 规则,如果需要:
    sudo ufw allow Samba  
    

    或者单独开放相关端口:

    sudo ufw allow 137/tcp  
    sudo ufw allow 138/tcp  
    sudo ufw allow 139/tcp  
    sudo ufw allow 445/tcp  
    
    • 如果使用 iptables,确保 SELinuxiptables 规则允许 Samba 访问。

结论

通过上述步骤,你应该能够成功设置 Samba 共享并通过直接 IP 地址访问。

类似文章

发表回复

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