Samba服务是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
Samba服务是连接Linux与Windows的桥梁,它通过实现SMB(Server Message Block)协议来允许跨平台的文件和打印机共享。该服务不仅支持Linux和UNIX操作系统之间的共享,还允许这些系统与使用SMB协议的设备,如Windows系统的计算机,进行互操作。以下是从多个维度对Samba服务进行具体介绍:
- 网络配置:Samba监听两个TCP端口和两个UDP端口,分别是139和445(TCP),以及137和138(UDP)。TCP端口用于smbd服务,提供文件和打印资源的共享访问,而UDP端口则用于nmbd服务,负责基于NetBIOS的主机名解析。
- 用户管理:Samba服务支持两种类型的用户账户:系统用户和专用的Samba密码文件用户。系统用户可以直接从/etc/passwd文件中获取其凭据,而Samba用户则通过smbpasswd命令进行管理,例如添加、禁用或删除用户账号。
- 安全配置:Samba提供了多种安全级别,包括user、server和domain。这些安全级别分别对应于本地验证、指定服务器验证和域控制器验证。此外,Samba还支持设置匿名访问,尽管在最新版本中不再直接支持share级别,但仍然可以通过特定配置实现类似功能。
- 配置文件:Samba的主要配置文件是/etc/samba/smb.conf,此文件包含所有的共享设置和安全配置。在此文件中,管理员可以设置工作组名称、服务器描述、安全级别以及密码后端等参数。特别是,[global]、[homes]和[printers]部分分别用于配置全局设置、用户主目录共享和打印机共享。
使用简介
本次使用主要是在之前发的(OrangePi AIpro从上手到网站部署使用-CSDN博客)板子中使用远程桌面或者FTP传输文件时,比较麻烦也比较慢,于是就配置香蕉派的文件夹到我的Windows电脑中,方便使用,文件传输速度自测是之前的十倍有余(可能我之前配置不对FTP传文件也才几百k每秒,共享文件夹后可以6m每秒)
- 安装Samba
sudo apt-get install samba # 辅助工具,但不是必须安装的smbclient
- 修改Samba配置文件
nano /etc/samba/smb.conf # 配置内容,share为文件夹名,path问共享的路径,guest ok=yes参数以允许匿名访问,writable = yes可以写入 [share]comment = My Shared Folderpath = /root/Downloads # 注意将这个目录chmod 777 /root/Downloads/*browseable = yeswritable = yesguest ok = yespublic = yesvalid users = root # password : 123456,如果不使用用户名和密码则将这个注释,但是关闭后我的Windows无法正常访问
- 添加用户名和密码
# 添加用户名 sudo adduser root # 设置该用户名密码,两次输入密码 sudo smbpasswd -a root
- 更改用户名,查看用户名状态
# 添加用户名root,输入后会提示输入两次密码,我的密码为:123456 sudo smbpasswd root # 查看用户名是否正常 sudo smbpasswd -e root
- 重启动服务
sudo service smbd restart
- 查看结果和日志
# 查看是否启动,Windows可以查看445端口是否打开 systemctl status smbd # 查看运行错误日志 cat /var/log/samba/log.*
- Windows中连接
- 在此电脑》添加一个网络位置》添加自己的IP和对应上面配置的共享文件夹名,添加后在下方网络位置可以正常打开
- 也可以虚拟磁盘,网络》鼠标右键》映射网络驱动器》选择对应驱动器、文件夹,勾选上使用其他凭证连接