linux Samba服务器详解以及配置

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
smbd:提供文件共享协议,工作在 445/tcp
winbind:为 Windows AD 服务
加入 Windows 的 AD
1.安装 Samba、Samba-client、Samba-conmmon、Samba-winbind 软件包
2.使用 authconfig-tui 工具两次勾选 winbind 后,填写 Domain、Domain Controllers、ADS Realm 即可添加到 Windows 的域服务器
@ # setsebool -P samba_export_all_rw on || 若要共享系统文件则必须使用该命令开启 SELinux 的访问控制
@ =============== Global Settings ================ || 双横线以下为全局配置
Samba:跨 Linux、Unix 与 Windows 平台进行文件传输
在 Linux/Unix 上使用软件模拟 NetBIOS 与 CIFS/SMB 的功能实现与 Windows 的交互,即:
当 Linux/Unix 主机上使用 Samba 的软件将某个目录共享出来,即可在同一网段内的 Windows 的主机上通过 UNC 路径直接对 Linux/Unix 上的该文件进行操作,也可以将 Windows 上共享出的目录通过 CIFS 协议挂载至 Linux/Unix 下直接进行操作
@ # maximum size of 50KB per log file, then rotate:
@ max log size = 50 || 日志大于50 KB 轮询一次(可根据时间或大小设置轮询)
@ 。。。。。。。。。。。。。
@ 。。。。。。。。。。。。
@ # setsebool -P samba_domain_controller on || Samba 可加入 Windows 的域服务器,但 SELinux 会阻挡,使用该命令即可通过 authconfig-tui 加入 Windows 的域服务器
@ # setsebool -P samba_enable_home_dirs on || Samba 会共享其 Home 目录,但 SELinux 会阻止该共享,使用该命令可开启 Home 目录的共享
@ # chcon -t samba_share_t /path/to/directory || Samba 可以共享任意目录,因而该共享目录无对应的安全上下文,因此 SELinux 默认阻挡,若要开启访问,需使用该命令设置 context 值
Samba 的用户授权
设置指定用户对目录的权限
Samba 共享功能
文件与打印机共享
Samba 的名称解析
通过 Samba_winbind 实现名称解析,基于单播的方式可以被 Windows 直接访问到,监听在 udp 的端口上
Samba 浏览的属性
@ server string = Samba Server Version %v || Samba 的描述,“%v”即为版本号的变量,应修改
@
@ ; netbios name = MYSERVER || 设置广播名,默认显示计算机,可去掉“;”后自定义
Samba 的安全等级
即匿名访问控制,默认的安全级别为 “user” 即必须提供用户名和密码才能进行访问,“share” 即为匿名访问,“server” 为旁路服务器认证,如kerberos,“domain” 为通过 Windows AD 认证,“ads” 为 winbindd 进行认证(在authconfig-tui 的第二页进行选择)
CIFS/SMB:
主要供 windows 操作系统使用
CIFS:Common Internet File System
SMB:Service Message Block
类似于 RPC 的机制
CIFS/SMB 还依赖于 NETBIOS
NETBIOS:Network Basic Input Output System
添加 Samba 服务的用户
# smbpasswd -a user1 || user1 必须为该服务器系统上已存在的用户,通过该命令将 user1 设置为 Samba 的用户,并为 user1 使用 Samba 服务重新设置密码,-a 为添加用户,建议在系统上添加 user1 时不设置密码
FTP:
工作在应用层
两台主机之间的交互、资源的请求、资源的响应或对请求的响应都是通过应用层报文向对方建立的,即 TCP/IP 只负责将数据报文安全的传达到目的地,而 FTP 是一种应用层协议,当请求方去请求数据的时候能实现的操作很简单,只能在对应的服务器上对文件进行增删的操作,却无法直接对远程服务器上的文件进行修改
通过广播的方式在同一个工作组或同一个网络之内实现主机名称解析的协议(效率较低)
也可以基于二进制的方式通过 UNC 在主机之间实现共享文件
UNC:\\IP\Shared_path\
Wins:
类似于 DNS 服务,只为 Windows 主机内部,以类似于 NETBIOS 的方式通过单播解析主机名,客户端只需第一次通过单播将主机名和 IP 地址发送给 Wins 服务器或请求网络内主机名即可
@
@ ; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 || 设置服务监听的端口,默认监听所有网络端口
@ ; hosts allow = 127. 192.168.12. 192.168.13. || 设置允许哪些主机可以进行访问,对以下所有配置生效,默认允许所有,建议写在各目录的配置下以实现自定义
# smbpasswd user1 || 重新设置 user1 的 Samba 的服务密码
# pdbedit -L || 查看该主机上有哪些 Samba 的用户
Samba 的配置文件为 /etc/samba/smb.conf 与 /etc/samba/下的所有文件
@ 。。。。。。。。。。。。。
@ # log files split per-machine:
@ log file = /var/log/samba/log.%m || “%m”为访问该 Samba 服务器主机的计算机的主机名,当 server1 来访问时会在 /var/log/samba/log.server1 的日志
了解 /etc/samba/smb.conf
以“#”开头则为注释信息,以“;”开头则为默认生效,若修改默认值则必须去掉“;”改写默认值
如果发生语法错误,则自动忽略该行,以默认值运行
该配置文件分为全局配置和共享配置两个部分
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@以下为/etc/samba/smb.conf 详解@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Samba 的共享文件名与该目录的文件名可以不同,而同一主机上共享出的多个目录的 UNC 文件名一定不能相同
Samba 的访问权限
取决于共享权限与文件系统权限的交集
Samba 访问控制
基于 IP 地址的白名单和黑名单的访问控制,可以定义用户和组对指定目录的权限
定义指定目录是否除了属主与属组对其他用户是否可浏览,即看到该目录与其相关属性
软件包介绍
samba.x86_64 || Samba 的服务器端
samba-client.x86_64 || Samba 的客户端
samba-libs.i686
samba-python.x86_64
监听端口:
NetBIOS: 137/udp,138/udp,139/tcp
共享文件: 445/tcp
即开启 Samba 服务时应当开启以上端口
Байду номын сангаас
Samba 身份验证
Samba 的本地认证
当客户端访问 Samba 服务器时应该持有服务器端所认证的用户与对应的秘钥
即该用户一定是 Samba 服务器上的系统用户,但为保证服务器系统的安全,由于 CIFS 认证的过程并不加密,如果没有 kerberos 等相关的加密机制则很容易被第三方截取用户的相关安全信息,因而在提供 Samba 服务时,所创建的用户是服务器上的系统用户,而对应的密码不是系统上的密码,而是另有一套 Samba 的密码文件为该用户提供访问 Samba 服务时做身份认证,且该文件一定是加密存放
Samba 的服务器认证
对于 Samba 而言,可以实现集中身份验证,即由另一台认证服务器实现对访问 Samba 的用户的身份进行认证,而这个认证可以基于 kerberos 实现,也可以将该用户加入 Windows AD 域中,因而该用户并不是 Samba 服务器上的用户,而是认证服务器上的用户,从而加强了对 Samba 服务器的安全性
@ [global]
@ --------------------------- Network-Related Options----------------- || 单横线为全局配置下的子配置
@ 。。。。。。。。。。。。
@ 。。。。。。。。。。。。
@ workgroup = MYGROUP || 工作组,同 Window 中的计算机工作组,仅实现分类
@ 。。。。。。。。。。。。。
@ --------------------------- Standalone Server Options ---------------- || 认证相关的配置
@ 。。。。。。。。。。。。。
@ security = user || 设置默认的认证模式为 user,即 Samba 数据库认证
Samba 通过 CIFS 弥合了 Windows 与 Linux/Unix 系统间的文件传输的差异性
Samba 受 SELinux 控制,当启用 Samba 服务时需调整 SELinux 的状态
Samba 还能提供 Winbind 服务,使得 Linux 主机加入到 Windows 的 AD 域中
@
@ ; max protocol = SMB2 || 设置 Samba 的协议版本
@ 。。。。。。。。。。。。
@ ----------------------------- Logging Options------------------------- || 日志相关的配置选项
NFS:Network File System
可以实现将一台主机上的文件让另一台主机直接挂载,只要被挂载的主机输出了对应的权限,挂载至本地的主机就可以像使用本地文件系统一样使用被挂载的文件,而这个过程对用户而言是透明的
数据传输基于 RPC(远程过程调用) 的方式进行传输
RPC:基于较高的效率,二进制的传输方式
samba-winbind.x86_64 || winbind 工具
samba-winbind-modules.i686
samba-winbind-modules.x86_64
进程介绍
开启 Samba 服务后会自动启动两个进程 nmbd 和 smbd
nmbd:提供 NetBIOS 服务,工作在 137/udp,138/udp,139/tcp
相关文档
最新文档