第十一章 使用 Samba 或 NFS 实现文件共享

1.  Samba 文件共享服务 

Samba 服务程序的配置方法与之前讲解的很多服务的配置方法类似,首先需要先通过软件仓库来安装 Samba 服务程序(Samba 服务程序的名字也恰巧是软件包的名字)。顺带再安装一个 samba-client 软件包,这是一会儿用于测试共享目录的客户端程序: 

[root@linuxprobe~]# dnf install samba samba-client 
Updating Subscription Management repositories. 
Unable to read consumer identity 
This system is not registered to Red Hat Subscription Management. You can use  
subscription-manager to register. 
Last metadata expiration check: 0:00:17 ago on Fri 05 Mar 2021 04:54:36 PM CST. 
Dependencies resolved. 
=============================================================================== 
 Package              Arch      Version        Repository   Sizet 
=============================================================================== 
Installing: 
 samba                x86_64    4.9.1-8.el8    BaseOS       708 k 
 samba-client         x86_64    4.9.1-8.el8    BaseOS       636 k 
Installing dependencies: 
 samba-common-tools   x86_64    4.9.1-8.el8    BaseOS       461 k 
 samba-libs           x86_64    4.9.1-8.el8    BaseOS       177 k 
 
Transaction Summary 
=============================================================================== 
Install  4 Packages 
………………省略部分输出信息……………… 
Installed: 
  samba-4.9.1-8.el8.x86_64                      samba-client-4.9.1-8.el8.x86_64 
  samba-common-tools-4.9.1-8.el8.x86_64         samba-libs-4.9.1-8.el8.x86_64   
 
Complete! 

安装完毕后打开 Samba 服务程序的主配置文件,参数并不多,只有 37 行。其中第 17~22 行代表共享每位登录用户的家目录内容。虽然在某些情况下这可以更方便地共享文件,但这个默认操作着实有些危险,建议不要共享,将其删除掉第 24~29 行是用 SMB 协议共享本地的打印机设备,方便局域网内的用户远程使用打印机设备。当前我们没有打印机设备,因此建议也将其删除掉,不共享。最后的第 31~37 行依然为共享打印机设备的参数,同样建议予以删除。 

[root@linuxprobe~]# vim /etc/samba/smb.conf 
  1 # See smb.conf.example for a more detailed config file or 
  2 # read the smb.conf manpage. 
  3 # Run ‘testparm’ to verify the config is correct after 
  4 # you modified it. 
  5 
  6 [global] 
  7        workgroup = SAMBA 
  8        security = user 
  9 
 10        passdb backend = tdbsam 
 11 
 12         printing = cups 
 13         printcap name = cups 
 14         load printers = yes 
 15         cups options = raw 
 16 
 17 [homes] 
 18         comment = Home Directories 
 19         valid users = %S, %D%w%S 
 20         browseable = No 
 21         read only = No 
 22         inherit acls = Yes 
 23  
 24 [printers] 
 25         comment = All Printers 
 26         path = /var/tmp 
 27         printable = Yes 
 28         create mask = 0600 
 29         browseable = No 
 30  
 31 [print$] 
 32         comment = Printer Drivers 
 33         path = /var/lib/samba/drivers 
 34         write list = @printadmin root 
 35         force group = @printadmin 
 36         create mask = 0664 
 37         directory mask = 0775 
directory mask = 0775 

在对 Samba 服务的主配置文件进行一顿删减操作之后,最后的有效配置参数只剩下了 8行。所剩不多的参数中,还能继续删除不需要的参数。例如,第 5~8 行参数中所提到的 cups的全称为 Common UNIX Printing System(通用 UNIX 打印系统),依然是用于打印机或打印服务器的,继续予以删除。 

[root@linuxprobe~]# cat /etc/samba/smb.conf 
  1 [global] 
  2         workgroup = SAMBA 
  3         security = user 
  4         passdb backend = tdbsam 
  5         printing = cups 
  6         printcap name = cups 
  7         load printers = yes 
  8         cups options = raw 

将多余内容删除后:

[root@linuxprobe~]# cat /etc/samba/smb.conf 
  1 [global] 
  2         workgroup = SAMBA 
  3         security = user 
  4         passdb backend = tdbsam 

为了避免在工作中使用到了打印机服务而不知如何配置,下面对上述代码进行详细的注释说明,大家可以留存备查。 

在上面的代码中,security 参数代表用户登录 Samba 服务时采用的验证方式。总共有 4种可用参数。 
➢  share:代表主机无须验证密码。这相当于 vsftpd 服务的匿名公开访问模式,比较方便,但安全性很差。 
➢  user:代表登录 Samba 服务时需要使用账号密码进行验证,通过后才能获取到文件。这是默认的验证方式,最为常用。 
➢  domain:代表通过域控制器进行身份验证,用来限制用户的来源域。 
➢  server:代表使用独立主机验证来访用户提供的密码。这相当于集中管理账号,并不常用。 

在最早期的 RHEL/CentOS 系统中,Samba 服务使用的是 PAM(可插拔认证模块)来调用本地账号和密码信息,后来在 5、6 版本中替换成了用 smbpasswd 命令来设置独立的 Samba服务账号和密码。到了 RHEL  7/8 版本,则又进行了一次改革,将传统的验证方式换成使用tdbsam 数据库进行验证。这是一个专门用于保存 Samba 服务账号密码的数据库,用户需要用pdbedit 命令进行独立的添加操作,下文中会有实战演示。

1.1  配置共享资源 

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

第一步:创建用于访问共享资源的账户信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值