在Debian下配置Samba服务器

有时,我们需要在Windows下访问Linux下的文件,但又不想把文件权限搞乱,这时可以使用Samba将Linux下的文件共享给Windows。之所以不使用FTP,是因为它需要将文件下载后才能编辑;而基于SSH的SFTP则不被Windows原生支持,需要额外的客户端。

安装Samba

1
2
sudo apt update
sudo apt install samba

配置Samba

Samba的配置文件比较长,单纯的共享不需要进行复杂设置,只需要在配置文件/etc/samba/smb.conf最下方添加自定义的共享即可。

1
2
3
4
5
6
7
8
[my-share]
comment = my share directory
path = <patch to you share directory>
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0775

如果想要搭建一个匿名访问的共享目录,可以使用下面的配置

1
2
3
4
5
6
7
8
[anon-share]
path = <patch to you share directory>
writeable = yes
browseable = yes
public = yes
create mask = 0644
directory mask = 0755
force user = <username>

重启Samba服务

1
2
3
4
5
# if you are using systemd
sudo systemctl restart smbd.service

# if you are using sysvinit
sudo service smbd restart

将用户添加到Samba

如果你发现自己的用户密码无法用来登陆Samba服务器,那么需要将用户添加到Samba。

1
sudo smbpasswd -a <username>

在Windows下访问Samba服务器

一般情况下

打开“网络”,系统会自动搜索网络上的Samba服务器,如果你发现了自己的服务器,直接点击然后登陆即可。

特殊情况下

某些情况下,比如本机与Samba服务器有多条网络连接,且速度各异,或者“网络发现”没有及时找到可用的Samba服务器时,可以手动访问Samba服务器。

1
2
# 打开Windows的资源管理器,在地址栏输入
\\xxx.xxx.xxx.xxx

其中“xxx.xxx.xxx.xxx”为Samba服务器的IP地址,此时就可以指定某一网络直接访问Samba服务器了。