第 14 章 Samba
				Samba 是服务器消息块(SMB)和通用 Internet 文件系统(CIFS)协议的开源实施,跨各种操作系统在客户端之间提供文件和打印服务。[15]
			
				在 Red Hat Enterprise Linux 中,samba 软件包提供 Samba 服务器。输入以下命令查看是否安装了 samba 软件包:
			
rpm -q samba
~]$ rpm -q samba
package samba is not installed
				如果没有安装它,且您想要使用 Samba,以 root 用户身份使用 
yum 工具来安装它:
			yum install samba
~]# yum install samba14.1. Samba 和 SELinux
复制链接链接已复制到粘贴板!
					启用 SELinux 时,Samba 服务器(
smbd)默认运行限制。受限制的服务在自己的域中运行,与其他受限服务分离。以下示例演示了在其自己的域中运行的 smbd 进程。本例假设安装了 samba 软件包:
				- 运行 getenforce 命令,确认 SELinux 是否在 enforcing 模式下运行:getenforce ~]$ getenforce EnforcingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 当 SELinux 处于 enforcing 模式时,命令会返回Enforcing。
- 以 root 用户身份输入以下命令以启动smbd:systemctl start smb.service ~]# systemctl start smb.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确认 服务正在运行。输出中应包括以下信息(只有时间戳有所不同):systemctl status smb.service ~]# systemctl status smb.service smb.service - Samba SMB Daemon Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled) Active: active (running) since Mon 2013-08-05 12:17:26 CEST; 2h 22min agoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 要查看smbd进程,请执行以下命令:ps -eZ | grep smb ~]$ ps -eZ | grep smb system_u:system_r:smbd_t:s0 9653 ? 00:00:00 smbd system_u:system_r:smbd_t:s0 9654? 00:00:00 smbdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 与smbd进程关联的 SELinux 上下文为system_u:system_r:smbd_t:s0。上下文的第二个最后一个部分smbd_t是类型。类型定义进程的域以及文件的类型。在这种情况下,smbd进程在smbd_t域中运行。
					文件必须正确标记,以允许 
smbd 访问和共享它们。例如,smbd 可以读取和写入使用 samba_share_t 类型标记的文件,但默认情况下,无法访问使用 httpd_sys_content_t 类型标记的文件,该类型旨在由 Apache HTTP 服务器使用。必须启用布尔值以允许某些行为,例如允许通过 Samba 导出主目录和 NFS 卷,以及允许 Samba 充当域控制器。