使用Samba或NFS文件共享


Samba实现 Linux 系统与 Windows 系统之间的文件共享:

  Samba服务程序的主配置包括全局配置参数和区域配置参数。全局配置参数用于设置整体的资源共享环境,对里面的每一个独立的共享资源都有效。区域配置参数则用于设置单独的共享资源,且仅对该资源有效。

安装samba服务:yum install samba

过滤(删除)空行:grep “^$”



pdbedit 命令用于管理 SMB 服务程序的账户信息数据库,在第一次把账户信息写入到数据库时需要使用-a 参数,以后在执行修改密码、删除账户等操作时就不再需要该参数了。

新建Samba账户:smbpasswd  (RHEL5、6)

新建Samba账户:pdbedit    (RHEL7)

创建系统用户:pdbedit -a -u linuxprobe



配置共享资源:

1.创建用于访问共享资源的账户信息。在 RHEL 7 系统中,Samba 服务程序默认使用的是用户口令认证模式(user)

  pdbedit -a -u linuxprobe


2.创建用于共享资源的文件目录。在创建时,不仅要考虑到文件读写权限的问题,而且由于/home 目录是系统中普通用户的家目录,因此还需要考虑应用于该目录的 SELinux 安全上下文所带来的限制。

  mkdir /home/database

  chown -Rf linuxprobe:linuxprobe /home/database

  semanage fcontext -a -t samba_share_t /home/database

  restorecon -Rv /home/database


3.设置 SELinux 服务与策略,使其允许通过 Samba 服务程序访问普通用户家目录。执行 getsebool 命令,筛选出所有与 Samba 服务程序相关的 SELinux 域策略,根据策略的名称(和经验)选择出正确的策略条目进行开启即可:

  setsebool -P samba_enable_home_dirs on


4.在 Samba 服务程序的主配置文件中,根据格式要求写入共享信息:vim /etc/samba/smb.conf

1 [global]  

2 workgroup = MYGROUP  

3 server string = Samba Server Version %v  

4 log file = /var/log/samba/log.%m  

5 max log size = 50  

6 security = user  

7 passdb backend = tdbsam  

8 load printers = yes  

9 cups options = raw  

10 [database]  

11 comment = Do not arbitrarily modify the database file  

12 path = /home/database  

13 public = no  

14 writable = yes


5.Samba 服务程序的配置工作基本完毕。接下来重启 smb 服务(Samba 服务程序在 Linux 系统中的名字为 smb)并清空 iptables 防火墙,然后就可以检验配置效果了。

 systemctl restart smb

 systemctl enable smb

 iptables -F

 service iptables save


Windows 访问文件共享服务:

Windows+R  地址栏:\\Samba 共享服务器IP地址 输入同户名linuxprobe和密码登录,即可实现Linux系统与Windows系统之间文件共享


Linux 访问文件共享服务:需在客户端安装支持文件共享服务的软件包(cifs-utils),安装步骤:

1.yum install cifs-utils

2.按照 Samba 服务的用户名、密码、共享域的顺序将相关信息写入到一 个认证文件中:vim auth.smb

  username=smbuser  

  password=redhat  

  domain=MYGROUP

3.为了保证不被其他人随意看到,最后把这个认证文件的权限修改为仅root管理员才能够读写:chmod 600 auth.smb

4.创建一个用于挂载 Samba 服务共享资源的目录,并把挂载信息写入到/etc/fstab 文件中:mkdir /database

5.以确保共享挂载信息在服务器重启后依然生效:vim /etc/fstab

  //Samba 共享服务器IP地址/database /database cifs credentials=/root/auth.smb 0 0

6.Linux 客户端成功地挂载了 Samba 服务的共享资源: mount -a

7.进入到挂载目录/database 后就可以看到文件,即实现Linux系统间的文件共享。



NFS(网络文件系统):共享文件的主机都是 Linux 系统,在客户端部署 NFS 服务来共享文件,这样更为方便、简单。

1.安装NFS软件包:yum install nfs-utils

2.清空 NFS 服务器上面 iptables 防火墙的默认策略:

  iptables -F   

  service iptables save     

3.在 NFS 服务器上建立用于 NFS 文件共享的目录,并设置足够的权限确保其他人也有写入权限:

  mkdir /nfsfile

  chmod -Rf 777 /nfsfile

  echo "welcome to linuxprobe.com" > /nfsfile/readme

4.NFS 服务程序的配置文件为/etc/exports,默认情况下里面没有任何内容。把nfsfile目录共享给 192.168.10.0/24 网段内的所有主机: vim /etc/exports

  /nfsfile 192.168.10.*(rw,sync,root_squash)

5.启动和启用 NFS 服务程序。由于在使用 NFS 服务进行文件共享之前,需要使用 RPC(Remote Procedure Call,远程过程调用)服务将 NFS 服务器的 IP 地址和端口号等信息发送给客户端:

  systemctl restart rpcbind  

  systemctl enable rpcbind  

  systemctl start nfs-server  

  systemctl enable nfs-server



autofs自动挂载服务:autofs服务程序是一种 Linux 系统守护进程,当检测到用户视图访问一个尚未挂载的文件系统时,将自动挂载该文件系统。我们将挂载信息填入/etc/fstab 文件后,系统在每次开机时都自动将其挂载,而 autofs 服务程序则是在用户需要使用该文件系统时才去动态挂载,从而节约了网络资源和服务器的硬件资源。

1.安装autofs服务:yum install autofs

2.编辑主配置文件:/etc/auto.master

  /media /etc/iso.misc

3.编辑调用配置文件:vim /etc/iso.misc

  iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom (而-ftype 为文件系统格式参 数,iso9660 为光盘设备格式,ro、nosuid 及 nodev 为光盘设备具体的权限参数,/dev/cdrom 则是定义要挂载的设备名称

4.将 autofs 服务程序启动并加入到系统启动项中:

  systemctl start autofs

  systemctl enable autofs

5.默认情况下光盘设备没有被挂载上,/media目录中也没有 iso 子目录,使用 cd 命令切换到这个 iso 子目录时,光盘设备会被立即自动挂载上:cd /media/iso







使用BIND服务提供域名解析服务


DNS(Domain Name System,域名系统):用于管理和解析域名与 IP 地址对应关系的技术,能够接受用户输入的域名或 IP 地址,然后自动查找与之匹配(或者说具有映射关系)的 IP 地址或域名, 即将域名解析为 IP 地址(正向解析),或将 IP 地址解析为域名(反向解析)。


DNS服务器分为三种类型:

1.主服务器: 管理域名与IP地址的对应关系

2.从服务器:同步域名与IP地址的对应关系

3.缓存服务器:转发域名与IP地址的对应关系



BIND(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。

bind安装部署:

安装程序包:yum install bind-chroot

启动服务:systemctl start named (bind的服务名称:named)

加入开机自启:systemctl enable named



常用配置文件

1.主配置文件(/etc/named.conf):定义 bind 服务程序的运行

2.区域配置文件(/etc/named.fsc1912.zones):来保存域名和 IP 地址对应关系的所在位置。类似于图书的目录,对应着每个域和相应 IP 地址所在的具体位置,当需要查看或修改时,可根据这个位置找到相关文件。

3.数据文件配置目录(/var/named):保存域名和 IP 地址真实对应关系的数 据配置文件。


正向地址解析与反向地址解析:

1.正向地址解析:域名 --> IP地址

2.反向地址解析:IP地址 --> 域名


DNS配置文件每行以“;”结尾。


学习Linux打卡计划(第十四天)_Linux