《linux就该这么学——笔记》第12章 使用Samba或NFS实现文件共享

使用Samba或NFS实现文件共享

  • 12.1 Samba文件共享服务
      • 第一步:安装Samba程序
      • 第二步:扫除主配置文件的阅读障碍
    • 12.1.1 配置共享资源
      • 第一步:在/etc/samba/smb_conf中添加下面的共享配置参数
      • 第二步:重启samba服务,并加入到启动项
      • 第三步:创建可访问共享资源的账户信息
      • 第四步:创建用于共享资源的文件目录,并设置用户权限、读写权限。
      • 第五步 设置SELinux的策略。最后重启服务,写入开机项目
    • 12.1.2 windows访问文件共享服务
    • 12.1.3 Linux访问文件共享服务
        • 第一步 安装cifs-utils
        • 第二步 创建用户密码文件
        • 第三步 将用户密码文件挂载到文件系统fstab
        • 第四步 试验失败,后面重新开始。
  • 12.2 NFS(网络文件系统)
      • 第一步 清空NFS服务器上面的iptables防火墙策略
      • 第二步 新建用于共享的目录,并设定权限。
      • 第三步 配置/etc/exports文件
      • 第四步 重启NFS服务,rpcbind服务,并将他们加入到启动项
  • 12.3 autofs自动挂载
      • 第一步 安装 yum install autofs
      • 第二步 修改autofs的主配置文件/etc/auto.master
      • 第四步 试一试

Samba(SMBserver)原本是为了解决不同平台的文件和打印机共享。

《linux就该这么学——笔记》第12章 使用Samba或NFS实现文件共享_第1张图片

12.1 Samba文件共享服务

第一步:安装Samba程序

yum install Samba

第二步:扫除主配置文件的阅读障碍

[root@linuxprobe ~]# cd /etc/samba
[root@linuxprobe samba]# mv smb.conf smb.conf_bak
[root@linuxprobe samba]# cat smb.conf_bak | grep -v "#" | grep -v ";" | grep -v "^$" > smb.conf
[root@linuxprobe samba]# vim 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 [homes]
 11         comment = Home Directories
 12         browseable = no
 13         writable = yes
 14 [printers]
 15         comment = All Printers
 16         path = /var/spool/samba
 17         browseable = no
 18         guest ok = no
 19         writable = no
 20         printable = yes

去除掉目前无关的配置项,最终得到的配置项目。

参数 作用
[global] 共享名称
workgroup = MYGROUP 网上邻居共享组
server string = Samba Server Version %v 服务器标识
log file = /var/log/samba/log.%m 日志保存路径
max log size = 50 日志文件容量KB
security = user 验证模式:share:无需验证、user:需要验证、server:远程主机验证、domain:使用域控制器验证
passdb backend = tdbsam 定义后台的类型

12.1.1 配置共享资源

第一步:在/etc/samba/smb_conf中添加下面的共享配置参数

参数 作用
[rick] 共享参数,名字自定
comment = 文字自定 描述信息
path = /home/risk 共享目录
public = no 不公开
wriable = yes 允许写入

备注:samba配置文件的等号两边均有空格,在7.0版可以省略空格
最终的主配置文件smb_conf的内容

vim 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 [rick]
  9 comment = this is a shengming
 10 path = /home/rick
 11 public = no
 12 wriable = yes

第二步:重启samba服务,并加入到启动项

systemctl restart samba
systemctl enable samba

第三步:创建可访问共享资源的账户信息

在RHEL7中默认的是user(密码认证)登录。所以必须建立账户信息数据库之后,才能使用用户口令认证模式。Samba服务程序的数据库要求账户必须在当前系统中已经存在,否则日后创建文件时将导致文件的权限属性混乱而引发错误。
pdbedit用于管理SMB服务程序的账户信息数据库
pdbedit [选项] 账户

参数 作用
-a 用户名 建立samba账户
-x 用户名 删除samba账户
-L 列出账户列表
-Lv 列出账户详细信息列表
[root@linuxprobe samba]# pdbedit -a -u linuxprobe
new password:
retype new password:
Unix username:        linuxprobe
NT username:          

第四步:创建用于共享资源的文件目录,并设置用户权限、读写权限。

[root@linuxprobe samba]# mkdir -p /rick
[root@linuxprobe samba]# chown -Rf linuxprobe:linuxprobe /rick
[root@linuxprobe rick]# chmod -Rf 777 /rick

第五步 设置SELinux的策略。最后重启服务,写入开机项目

[root@linuxprobe samba]# getsebool -a | grep samba
......
samba_export_all_rw --> off
......
[root@linuxprobe samba]# setsebool samba_export_all_rw=on
[root@linuxprobe samba]# systemctl restart smb
[root@linuxprobe samba]# systemctl enable smb
[root@linuxprobe samba]# iptables -F

12.1.2 windows访问文件共享服务

1、在windows系统中按下win+R,并输入\192.168.10.10。按提示输入用户名和密码。
《linux就该这么学——笔记》第12章 使用Samba或NFS实现文件共享_第2张图片
2、尝试写入文件,修改文件。成功!《linux就该这么学——笔记》第12章 使用Samba或NFS实现文件共享_第3张图片

12.1.3 Linux访问文件共享服务

samba也可以在两台Linux系统之间进行通讯。
客户端需要安装支持文件共享服务的软件包:cifs-utils

第一步 安装cifs-utils

[root@localhost yum.repos.d]# yum install cifs-utils

第二步 创建用户密码文件

[root@localhost yum.repos.d]# vim auth.smb
usrname=linuxprobe
password=******
domain=MYGROUP             

第三步 将用户密码文件挂载到文件系统fstab

创建一个挂载目录rick

mkdir /rick
vim /etc/fstab
		//192.168.10.10/rick   /rick   cifs   credential=/root/auth.smb  0 0

第四步 试验失败,后面重新开始。

[root@linuxprobe Desktop]# mount -a
mount: wrong fs type, bad option, bad superblock on //192.168.10.10/rick,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount. helper program)

   In some cases useful info is found in syslog - try
   dmesg | tail or so.

12.2 NFS(网络文件系统)

可以将两台Linux系统之间的共享,并将共享资源挂载到本地主机的目录上,
像使用本地主机上的资源那样读写远程Linux系统上的共享文件。

第一步 清空NFS服务器上面的iptables防火墙策略

iptables -F

第二步 新建用于共享的目录,并设定权限。

mkdir /xiaoguo
chmod -Rf 777 /xiaoguo

第三步 配置/etc/exports文件

格式:共享目录路径 允许访问的NFS客户端(权限参数)

vim /etc/exports
	/xiaoguo  192.168.10.10(rw,sync,root_squash)

第四步 重启NFS服务,rpcbind服务,并将他们加入到启动项

systemctl restart rpcbind
systemctl restart nfs-server
systemctl enable rpcbind
systemctl enable nfs-server
### 第五步 写入/etc/fstab,永久生效
```shell
vim /etc/fstab
	192.168.10.10:/xiaoguo /xiaoguo nfs defaults 0 0

12.3 autofs自动挂载

第一步 安装 yum install autofs

第二步 修改autofs的主配置文件/etc/auto.master

格式 “挂载目录 子配置文件”
挂载目录是设备挂载位置的上一级目录
···shell
/media /etc/iso.misc

### 第三步 修改子配置文件
···shell
vim /etc/iso.misc
iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

第四步 试一试

[root@linuxprobe media]# df -h
df: ‘/media/cdrom’: No such file or directory
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   18G  3.2G   15G  19% /
devtmpfs               985M     0  985M   0% /dev
tmpfs                  994M  108K  994M   1% /dev/shm
tmpfs                  994M  8.8M  986M   1% /run
tmpfs                  994M   16K  994M   1% /sys/fs/cgroup
[root@linuxprobe media]# cd /media/iso
[root@linuxprobe iso]# df -h
df: ‘/media/cdrom’: No such file or directory
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   18G  3.2G   15G  19% /
devtmpfs               985M     0  985M   0% /dev
tmpfs                  994M  108K  994M   1% /dev/shm
tmpfs                  994M  8.8M  986M   1% /run
tmpfs                  994M   16K  994M   1% /sys/fs/cgroup
/dev/sr0               3.5G  3.5G     0 100% /media/iso
[root@linuxprobe iso]# 

你可能感兴趣的:(笔记)