文章目录
1.Samba概述
SMB(Server Messages Block,信息服务块)是一种在==局域网(默认)==上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型(c/s)协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
1.1 为什么使用samba
1)ftp的优缺点:
- 优点:文件传输、应用层协议、可以跨平台(linux,windows)
- 缺点:只能实现文件传输,无法实现文件系统的挂载;无法直接修改服务器端的文件。
- 可跨公网,再传输效率或者安全上和专业度上,都更适合文件共享。
2)samba的特性:
- 使用samba/cifs协议、可跨平台(linux,windows)、可以实现文件系统的挂载;可以直接修改服务器端的文件。
- samba更多是使用在局域网。
- 不需要使用的人去连接,配置,直接使用就可以了。
1.2 smb和cifs之间的关系
samba产生的比较早,目的就是为了跨平台实现文件共享。
随着互联网的发展,微软希望将samba可以在互联网上传输,就把samba协议进行整合,变成了一种网络文件系统cifs(Common Internet File System )。主要功能就是文件共享,只是互联网进行文件共享。
cifs是公开的或者开放的SAM版本协议。
一般我们在互联网依旧是使用FTP,在局域网还是使用samba比较多。
2.samba服务详解
1)协议:
- SMB/CIFS
2)软件:
- samba
3)服务:
- smb 实现资源共享、权限验证
4)使用端口:
- TCP 139 445
5)配置文件:
- /etc/samba/smb.conf 主配置文件
- /etc/samba/smbusers 别名配置文件
3.登录验证模式
1)share匿名验证:不需要账户名和密码直接使用
2)user本地用户验证:
- 默认登录验证模式
- 必须使用linux用户名和samba密码,才能进行登录验证
- tdbsam:使用数据库文件来验证,数据库文件叫passdb.tdb
- 给linux用户设定一个samba密码,并且将它写入passdb.tdb
- pdbedit -a username:新建samba账户和设定密码
- pdbedit -x username:删除samba账户
- pdbedit -L:列出用户列表,读取passdb.tdb数据库文件
3)别名用户(虚拟用户):防止对本地用户干扰
4. 常见配置参数
1)[global]
:全局设置,用于定义服务器的整体特性,其配置项对所有生产资源生效。
[global]
workgroup = MYGROUP # 要加入的工作组或域
server string = Samba Server Version %v # 说明版本,%v自动获取版本
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 # 默认监听的网卡,或者IP地址
hosts allow = 192.168.12. EXCEPT 192.168.12.20 # 访问控制,允许那些客户端连接,整个192.168.12.都可以访问,除了192.168.12.20这个客户。
hosts deny = 127. 192.168.12. 192.168.13. # 拒绝访问
log file = /var/log/samba/log.%m # 日志文件的位置(填写具体的位置,%m主机的主即命,即每一个用户会产生资金的独立日志)
max log size = 50 # 单个日志文件的大小
security = user # 验证方式,安全级别,默认是本地用户
passdb backend = tdbsam # 默认验证samba用户的机制
load printers = yes # 是否加载共享打印机
2)[homes]
(特殊共享):用于所有创建了的samba账户进行共享,不用单独设置,使用同一个共享模版。
[homes] # 共享名就写homes,统一指代每一个用户对应的家目录,每个用户只能登录到自己家目录的共享
comment = Home Directories # 描述,随便写
browseable = no # 是否将共享出去的资源是否可见,如果为yes一个用户可以看到所有用户的家目录
writable = yes # 是否可以向该共享内写入内容。注意:还需要文件系统允许目录被写入。
; valid users = %S # 允许访问该共享的用户有那些,bob(允许bob用户),@bob