Smaba是一个局域网文件共享服务,主要功能是在Linux和Windows之间共享文件。samba使用起来非常的方便,可以用Windows的文件管理器直接打开Samba共享的文件。本文主要介绍了Samba服务的搭建与管理,以及Windows管理Samba连接。
¶安装
直接使用包管理器安装即可。
1 | Ubuntu |
¶配置文件
Samba的配置文件是/etc/samba/smb.conf,配置文件由若干个section组成,每个section包含若干个参数。section开头由section name和方括号构成,例如[section name]。参数类似于name = value。有关配置文件的更多介绍,可以参考smb.conf.5。下面列出了主要section及其参数。
除了[global],每个section都是一个共享资源,共享资源的名字是section的名字。[homes]和[printers]是两个特殊的共享资源,分别用于共享家目录和打印机。
¶global
global section中的参数适用于整个服务,或者是某些未定义参数的默认值。
¶homes
共享名会被更改为用户名。如果path参数没有指定,则path默认指向登录用户的家目录。这是为用户共享家目录最快最简单的方法。如果在homes中指定了访客访问权限,则所有主目录都将对所有客户端可见,而无需密码。
1 | Un-comment the following (and tweak the other settings below to suit) |
¶printers
TODO
¶自定义section
可按如下模板新增一个共享文件夹。
1 | [share name] |
¶用户管理
可以使用smbpasswd命令管理samba的用户。如果没有打开访客访问,则必须要登录用户才能访问samba服务。常用的选项如下:
- -a 添加用户。如果不指定用户名,则使用当前登录用户。
- -d 关闭用户
- -e 使能用户
- -x 删除用户
命令pdbedit提供了更多管理用户的选项。
- -L 列出所有的用户
¶服务管理
更改配置文件之后,需要重启服务配置才能生效。samba的服务名是smbd,可以用service或systemctl来重启。
1 | service smbd restart |
开机自启动samba服务。
1 | systemctl enable smbd |
samba服务正常运行后,可以使用指令smbstatus查看samba服务的状态,主要包含客户端的连接信息。
¶Windows管理Samba
¶访问Samba
在Windows文件管理器的地址栏输入\\ip即可访问Samba服务。
¶管理Samba连接
在cmd输入指令net use可以查看当前已建立连接的Samba,需要重点管理远程一列。
1 | C:\Users\admin>net use |
如果想断开某个连接,可以使用net use [远程] /del命令,例如net use \\192.168.50.1\share /del。命令net use * /del删除所有的Samba连接。
¶Smaba凭据
进入控制面板->用户账户->管理Windows凭据,则可以看到登录Samba服务所使用的用户名。如果想使用其他用户登录Samba服务,删除凭据后重启访问即可,这时会要求重新输入用户名和密码。