0%

为Arch Linux开启samba服务

目的

为Arch Linux开启samba服务,可以在局域网内部创建一个简单方便通用的文件共享服务。

我的目的很简单:

  1. 局域网内各种操作系统都可以访问。
  2. 匿名登录,不需要帐号密码。
  3. 可读写服务器上的文件。

假定:

  • 服务器的名称:server
  • 匿名用户身份:nobody
  • 允许访问网段:192.168.1.*, 192.168.31.*, 127.0.0.1
  • 共享名称:public
  • 共享路径:/public

服务端配置

在Arch Linux服务器端执行sudo pacman -S samba安装samba服务依赖的包。然后创建共享路径:

1
2
3
sudo mkdir /public/
sudo chown nobody:nobody /public/
sudo chmod 770 /public/

编辑配置文件sudo vim /etc/samba/smb.conf

/etc/samba/smb.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[global]
; 服务器的名称。
netbios name = server
; 匿名用户身份。
guest account = nobody
; 允许访问网段。
hosts allow = 192.168.1. 192.168.31. 127.
; 以下不要修改。
dns proxy = no
security = USER
workgroup = WORKGROUP
map to guest = Bad User
server role = standalone server

; 共享名称
[public]
; 共享路径
path = /public/
public = yes
available = yes
browseable = yes
guest ok = yes
guest only = yes
read only = no
writeable = yes
printable = no

启动服务sudo systemctl start smb.service nmb.service

客户端访问

对于Arch Linux,请安装依赖sudo pacman -S samba gvfs-smb,然后在文件管理器中输入地址smb://server/public,确认匿名访问即可。

对于Windows,请在文件管理器中输入地址\\server\public,即可访问。

对于Mac OS,请自行研究。