12_ 使用 Samba 或 NFS 实现文件共享(RHEL7) —学习笔记
Samba 文件共享服务
yum install samba
cat /etc/samba/smb.conf
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf
cat /etc/samba/smb.conf
配置共享资源
pdbedit [选项] 账户 #用于管理 SMB 服务程序的账户信息数据库
-a 用户名 建立 Samba 账户
-x 用户名 删除 Samba 账户
-L 列出账户列表
-Lv 列出账户详细信息的列表
id linuxprobe
pdbedit -a -u linuxprobe
mkdir /home/database
chown -Rf linuxprobe:linuxprobe /home/database
semanage fcontext -a -t samba_share_t /home/database
restorecon -Rv /home/database
getsebool -a | grep samba
setsebool -P samba_enable_home_dirs on
[database] 共享名称为 database
comment = Do not arbitrarily modify the database file 警告用户不要随意修改数据库
path = /home/database 共享目录为/home/database
public = no 关闭“所有人可见”
writable = yes 允许写入操作
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
systemctl restart smb
systemctl enable smb
iptables -F
service iptables save
Linux 访问文件共享服务
Samba 共享服务器 RHEL7 操作系统 192.168.10.10
Linux 客户端 RHEL7 操作系统 192.168.10.20
yum install cifs-utils # 在客户端安装支持文件共享服务的软件包(cifs-utils)
vim auth.smb
username=linuxprobe
password=redhat
domain=MYGROUP
chmod 600 auth.smb
mkdir /database #创建一个用于挂载 Samba 服务共享资源的目录
vim /etc/fstab #把挂载信息写入到/etc/fstab 文件中
//192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0
mount -a
cat /database/Memo.txt
NFS(网络文件系统)
// NFS(网络文件系统)服务可以将远程 Linux 系统上的文件共享资源挂载到本地主机的目录上
NFS 服务器端
yum install nfs-utils
iptables -F
service iptables save
mkdir /nfsfile
chmod -Rf 777 /nfsfile
echo "welcome to linuxprobe.com" > /nfsfile/readme
ro 只读
rw 读写
root_squash 当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的匿名用户
no_root_squash当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的 root 管理员
all_squash无论 NFS 客户端使用什么账户访问,均映射为 NFS 服务器的匿名用户
sync 同时将数据写入到内存与硬盘中,保证不丢失数据
async优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
vim /etc/exports # NFS 服务程序的配置文件
/nfsfile 192.168.10.*(rw,sync,root_squash)
systemctl restart rpcbind #RPC(Remote Procedure Call,远程过程调用)
systemctl enable rpcbind
systemctl start nfs-server
systemctl enable nfs-server
NFS 客户端
-e 显示 NFS 服务器的共享列表
-a 显示本机挂载的文件资源的情况
-v 显示版本号
showmount -e 192.168.10.10 # 查询 NFS 服务器的远程共享信息
mkdir /nfsfile # 创建一个挂载目录
mount -t nfs 192.168.10.10:/nfsfile /nfsfile #指定要挂载的文件系统的类型,并在命令后面写上
#服务器的 IP 地址、服务器上的共享目录以及要挂载到本地系统(即客户端)的目录
cat /nfsfile/readme
vim /etc/fstab
192.168.10.10:/nfsfile /nfsfile nfs defaults 0 0
autofs 自动挂载服务
#autofs 服务程序则是在用户需要使用该文件系统时才去动态挂载
yum install autofs
vim /etc/auto.master # 把光盘设备挂载到/media/iso 目录
/media /etc/iso.misc # 子配置文件需要用户自行定义,后缀建议以.misc 结束
vim /etc/iso.misc #子配置文件中,按照“挂载目录 挂载文件类型及权限 :设备名称”的格式进行填写
iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
#挂载目录 挂载文件类型及权限 :设备名称
#-fstype 为文件系统格式参数, iso9660 为光盘设备格式
#ro、 nosuid 及 nodev 为光盘设备具体的权限参数
#/dev/cdrom 则是定义要挂载的设备名称
systemctl start autofs
systemctl enable autofs
df -h
cd /media
cd iso
ls -l
df -h