了解“Linux”系统的小伙伴们,一定都听说过samba。那么Linux系统中samba服务是什么意思?samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,可以用于Linux与windows系统直接的文件共享和打印共享,接下来是详细的介绍。
什么是Samba
SAMBA是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置NetBIOS
over TCP/IP使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
Samba的功能
Samba最大的功能就是可以用于Linux与Windows系统直接的文件共享和打印共享,Samba既可以用于Windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS可以很好的完成Linux与Linux之间的数据共享,因而Samba较多的用在了Linux与Windows之间的数据共享上面。
Samba的工作协议
Samba服务功能强大,这与其通信基于SMB协议有关。SMB不仅提供目录和打印机共享,还支持认证、权限设置。Samba在Windows下使用的是NetBIOS协议,如果你要使用Linux下共享处理的文件,请确认你的Windows系统下是否按照了NetBIOS协议。
Samba的工作原理
协议协商客户端在访问Samba服务器时,发送negprot指令数据包,告知目标计算机其支持的SMB类型。Samba服务器根据客户端的情况,选择优的SMB类型,并做出回应。
建立连接当SMB类型确认后,客户端会发送session
setup指令数据包,提交帐号和密码,请求与Samba服务器建立连接,如果客户端通过身份验证,Samba服务器会对session
setup报文作出回应,并为用户分配唯一的UID,在客户端与其通信时使用。
访问共享资源客户端访问Samba共享资源时,发送tree
connect指令数据包,通知服务器需要访问的共享资源名,如果设置允许,Samba服务器会为每个客户端与共享资源连接分配TID,客户端即可访问需要的共享资源。断开连接共享使用完毕,客户端向服务器发送tree
disconnect报文关闭共享,与服务器断开连接。