在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 系统中,可以通过以下步骤直接访问共享:
- 打开文件资源管理器。
-
在地址栏中输入以下地址并按回车:
\<你的服务器IP>
例如,如果你的 Samba 服务器
IP
地址是192.168.1.100
,则输入:\192.168.1.100
- 根据提示输入账号密码,例如前面设置的账号
smb
和通过sudo smbpasswd -a smb
设置的密码。 -
你应该能够看到 Samba 共享文件夹
samba
,可以进行相应的文件操作。 -
选中文件夹鼠标右键可以添加为网络驱动映射,添加后访问该文件夹跟访问本地磁盘一样方便,非常适合公司内网大文件传输。
7.2 Linux 系统
在 Linux 系统中,可以通过以下命令挂载 Samba 共享:
- 使用以下命令访问 Samba 共享:
smbclient //192.168.1.100/samba -U smb
你可以直接用命令行访问,或者安装文件管理器插件(如 Nautilus)并使用“连接到服务器”功能。
-
输入命令后,确保可以看到共享文件夹进行文件操作。
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
,确保SELinux
或iptables
规则允许 Samba 访问。
- 查看
结论
通过上述步骤,你应该能够成功设置 Samba 共享并通过直接 IP
地址访问。