1. 概述
1.1 什么是Samba
- samba是在linux和unix系统上实现SMB协议的一个开源软件,由服务器及客户端程序构成
- SMB即Server Messages Block(信息服务块)缩写,是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务
1.2 Samba有哪些特点
- samba能够在任何支持SMB协议的主机之间共享文件,包括windows
- samba监听端口为TCP/139,TCP/445,UDP/137,UDP/138
- TCP端口相对应的服务是smbd服务,其作用是提供对服务器中文件、打印资源的共享访问
- UDP端口相对应的服务是nmbd服务,其作用是提供局域NetBIOS主机名称的解析
1.3 Smaba有哪些进程
- 进程nmbd,对应netbios
- 进程smbd,对应cifs协议
- winbindd+ldap,对应windows AD活动目录
2. 配置文件
samba主配置文件/etc/samba/smb.conf
配置文件三大组成
[global] 全局配置,此处的设置项对整个samba服务都有效
[homes] 宿主目录共享设置,此处用来设置Linux用户的默认共享,对应用户的宿主目录
[printers] 打印机共享设置
常用配置文件参数:
参数 | 作用 |
---|---|
workgroup | 表示设置工作组名称 |
server string | 表示描述samba服务器 |
security | 表示设置安全级别,可选值为share、user、server、domain |
passdb backend | 表示设置共享账户文件的类型,其值可为tdbsam(tdb数据库文件)、ldapsam(LDAP目录认证)、smbpasswd(兼容旧版本samba密码文件) |
comment | 表示设置对应目录共享的注释,说明信息,即文件共享名 |
browseable | 表示设置共享是否可见 |
writable | 表示设置共享目录是否可写 |
path | 表示设置共享目录的路径 |
guest ok | 表示设置是否所有人均可访问共享目录 |
public | 表示设置是否允许匿名用户访问 |
weite list | 表示设置允许写的用户和组,组要用@表示 |
valid users | 设置可以访问的用户和组 |
hosts deny | 设置拒绝哪台主机访问 |
hosts allow | 设置允许哪台主机访问 |
printable | 设置是否为打印机 |
3. 用户及密码配置
samba账号都是系统用户,密码是samba服务自由的密码文件,并不是登录系统的密码,通过smbpasswd -a USERNAME
命令设置
常用的选项:
-a 添加系统用户为samba用户并为其设置密码
-d 禁用用户账号
-e 启用用户账号
-x 删除用户账号
4. 配置用户认证共享
配置环境:
主机名 | IP | |
---|---|---|
客户端 | node1 | 192.168.207.129 |
服务端 | node2 | 192.168.207.130 |
注:关闭防火墙和selinux
1. 服务端安装samba服务器
[r