使用Samba实现文件共享:Windows和Linux之间

1、概述:
【使用Samba实现文件共享:Windows和Linux之间】1987 年,微软公司和英特尔公司共同制定了 SMB(Block,服务器消息 块)协议,旨在解决局域网内的文件或打印机等资源的共享问题,这也使得在多个主机之间 共享文件变得越来越简单 。到了 1991 年,当时还在读大学的为了解决 Linux 系统 与系统之间的文件共享问题,基于 SMB 协议开发出了服务程序 。这是 一款开源的文件共享软件,经过简单配置就能够实现 Linux 系统与系统之间的文件 共享工作 。当时, 想把这款软件的名字注册成为商标,但却被商标局以 SMB 是没有意义的字符而拒绝了申请 。后来 不断翻看词典,突然看到一个拉丁舞蹈 的名字—Samba,而且这个热情洋溢的舞蹈名字中又恰好包含了“SMB”,于是 Samba 服务程序的名字由此诞生 。Samba 服务程序现在已经成为在 Linux 系统与 系统之间共享文件的最佳选择 。
Samba 服务程序的配置方法与之前讲解的很多服务的配置方法类似,首先需要先通过 Yum 软件仓库来安装 Samba 服务程序(Samba 服务程序的名字也恰巧是软件包的名字):
yumsamba
安装好Samba后,了解Samba 服务程序中的参数以及作用,配置文件在/etc/samba/smb.conf如下表:

使用Samba实现文件共享:Windows和Linux之间

文章插图
2、配置共享资源
Samba 服务程序的主配置文件与前面学习过的服务很相似,包括全局配置参数和 区域配置参数 。全局配置参数用于设置整体的资源共享环境,对里面的每一个独立的共享资 源都有效 。区域配置参数则用于设置单独的共享资源,且仅对该资源有效 。创建共享资源的 方法很简单,只要将表 12-2 中的参数写入到 Samba 服务程序的主配置文件中,然后重启该服务即可 。
使用Samba实现文件共享:Windows和Linux之间

文章插图
第1步:创建用于访问共享资源的账户信息 。
在 RHEL 7 系统中,Samba 服务程序默认使用的是用户口令认证模式(user) 。这种认证模式可以确保仅让有密码且受信任的用户访问 共享资源,而且验证过程也十分简单 。不过,只有建立账户信息数据库之后,才能使用用户口 令认证模式 。另外,Samba 服务程序的数据库要求账户必须在当前系统中已经存在 。命令用于管理 SMB 服务程序的账户信息数据库,格式为“ [选项] 账户” 。命令中使用的参数以及作用如表 12-3 所示:
使用Samba实现文件共享:Windows和Linux之间

文章插图
补充:-c "[D]" -u:暂停该Samba用户的账号 。
-c "[]" -u:恢复该Samba用户的账号 。
使用Samba实现文件共享:Windows和Linux之间

文章插图
第2步:创建用于共享资源的文件目录 。
在创建时,不仅要考虑到文件读写权限的问题,而且由于/home 目录是系统中普通用户的家目录,因此还需要考虑应用于该目录的 安全 上下文所带来的限制 。在前面对 Samba 服务程序配置文件中的注释信息进行过滤时,这些过 滤的信息中就有关于 安全上下文策略的说明,我们只需按照过滤信息中有关安全上下文策略中的说明中给的值进行修改即可 。修改完毕后执行命令,让应用于 目录的新安全上下文立即生效 。
使用Samba实现文件共享:Windows和Linux之间

文章插图
第3步:设置服务与策略,使其允许通过 Samba 服务程序访问普通用户家目录 。
执行命令,筛选出所有与 Samba 服务程序相关的域策略,根据策略的 名称(和经验)选择出正确的策略条目进行开启即可:
使用Samba实现文件共享:Windows和Linux之间