Ubuntu上使用Samba在局域网上向Windows及其他设备共享目录
使用Samba可以非常方便地将Linux上的文件夹共享到其他设备上,Ubuntu的共享方法非常简单,参考官方文档,我使用的Ubuntu版本为22.04LTS。
Windows使用Samba共享文件夹可以参考:Windows 10 Samba文件共享的设置方法,解决不能访问和密码错误的问题
安装Samba
sudo apt update # 更新软件源
sudo apt install samba # 安装Samba
创建Samba共享目录
可以在任何位置进行创建,我在用户目录下创建了名为Share
的文件夹,我的用户名为wty
:
mkdir /home/wty/Share
接下来编辑Samba配置文件位于/etc/samba/smb.conf
(可以使用你喜欢的编辑器进行编辑vim/gedit/nano/...
)
sudo vim /etc/samba/smb.conf # 或者将vim改为gedit/nano
在文件的最底下加入如下配置文本:
[sambashare] # 当前分享的网络文件夹名称,在其他设备访问时候会看到sambashare文件夹的目录,进入后就是来到path文件夹下
comment = Samba on Ubuntu # 对该共享文件夹的描述
path = /home/wty/Share # 我们要分享的文件夹
read only = no # 授予修改文件夹的权限
browsable = yes # 在Ubuntu的文件管理器中列出当前共享文件夹
保存后,重启Samba服务
sudo service smbd restart
注意在Ubuntu防火墙中允许Samba服务,否则仍然无法访问:
sudo ufw allow samba
添加用户
由于Samba使用的用户密码和Ubuntu用户密码不同,需要重新对当前Ubuntu用户创建新的Samba密码(假如我的Ubuntu用户为wty
):
sudo smbpasswd -a wty # wty为Ubuntu的用户名(还可以是root用户)
Samba创建的用户名必须属于Ubuntu用户名中,否则无法保存
再输入密码即可创建用户。
连接Samba
首先使用ip addr
找到当前网卡的IPv4地址(如下图所示,本机地址为192.168.3.10
):
Windows可视化界面连接
Windows通过文件管理器在地址栏中输入\\IP地址
回车,就会弹出登陆界面,输入刚才创建的用户名和密码即可连接:
Ubuntu可视化界面连接
我使用的是Ubuntu22.04可以直接用文件管理器继续连接,效果非常好,使用方法如下:
首先打开文件管理器,点击左侧Other Locations
,在右侧底部可以输入服务器链接,使用Samba服务就是以smb://开头
后面输入你的ip地址,如下图所示:
最后点击connect
即可连接,打开你创建的文件夹,再输入刚才创建的用户名及密码,即可使用:
Linux命令行连接
使用smbclient
进行连接,使用方法为smbclient //ipv4地址/共享文件夹名称
,假如我的ip=192.168.3.10, 共享文件夹名称=smabashare
,则如下执行命令:
sudo apt install smbclient
smbclient //192.168.3.10/sambashare
再输入刚才创建的密码即可连接进入,进入后使用ls
就可以显示文件,使用help
查看相关命令。(命令不多,如果相比可视化界面差很多)