全面分析RHCE7(红帽认证工程师)考试题目之 ----NFS文件共享 篇
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全面分析RHCE7(红帽认证工程师)考试题目之 ----NFS文件共享 篇相关的知识,希望对你有一定的参考价值。
配置NFS共享(Linux与Linux之间)Network Flie System 网络文件系统
协议:NFS(TCP/UDP 2049),RPC(TCP/UDP 111)
所需软件包:nfs-utils (默认会装)
系统服务:nfs-server
搭建基本只读NFS服务
1.检测是否装包
[[email protected] ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.el7.x86_64
2.修改配置文件 /etc/exports
[[email protected] ~]# vim /etc/exports
...
/public 172.25.0.0/24(ro)
...
[[email protected] ~]# mkdir /public
[[email protected] ~]# echo public test > /public/nsd.txt
3.重启nfs-server服务,设置开机自启
[[email protected] ~]# systemctl restart nfs-server
[[email protected] ~]# systemctl enable nfs-server.service
4.客户端 访问nfs-server服务
[[email protected] ~]# showmount -e 172.25.0.11
Export list for 172.25.0.11:
/public 172.25.0.0/24
[[email protected] ~]# mkdir /mnt/nfs
[[email protected] ~]# vim /etc/fstab
...
172.25.0.11:/public /mnt/nfs nfs _netdev 0 0
...
[[email protected] ~]# mount -a
[[email protected] ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 10G 3.1G 7.0G 31% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 921M 80K 921M 1% /dev/shm
tmpfs 921M 17M 904M 2% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
172.25.0.11:/public 10G 3.1G 7.0G 31% /mnt/nfs
[[email protected] ~]# ls /mnt/nfs/
nsd.txt
搭建root用户的读写NFS
[[email protected] ~]# mkdir /abc
[[email protected] ~]# echo 123 > /abc/a.txt
[[email protected] ~]# vim /etc/exports
...
/abc 172.25.0.0/24(rw)
...
[[email protected] ~]# systemctl restart nfs-server.service
[[email protected] ~]# vim /etc/fstab
...
172.25.0.11:/abc /mnt/test nfs _netdev 0 0
...
[[email protected] ~]# mount -a
[[email protected] ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 10G 3.1G 7.0G 31% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 921M 80K 921M 1% /dev/shm
tmpfs 921M 17M 904M 2% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
//172.25.0.11/common 10G 3.1G 7.0G 31% /mnt/samba
//172.25.0.11/devops 10G 3.1G 7.0G 31% /mnt/dev
172.25.0.11:/abc 10G 3.1G 7.0G 31% /mnt/test
[[email protected] test]# touch 123.txt
touch: 无法创建"123.txt": 权限不够
第一种
[[email protected] ~]# vim /etc/exports
...
/abc 172.25.0.0/24(rw,no_root_squash) #no_root_squash 不压榨客户端root的权限
...
[[email protected] ~]# systemctl restart nfs
[[email protected] test]# systemctl restart nfs#重启客户端服务
[[email protected] test]# touch 123.txt
[[email protected] test]# ls /mnt/test/
123.txt a.txt
第二种 提权方法
[[email protected] ~]# setfacl -m u:nfsnobody:rwx /abc
[[email protected] ~]# getfacl /abc
getfacl: Removing leading '/' from absolute path names
# file: abc
# owner: root
# group: root
user::rwx
user:nfsnobody:rwx
group::r-x
mask::rwx
other::r-x
普通用户
客户端普通用户访问服务器端nfs-server服务,服务端会以客户端相同UID身份的本地用户进行权限判定
[[email protected] ~]# useradd -u 1666 test01
[[email protected] ~]# setfacl -m u:test01:rwx /abc
[[email protected] ~]# useradd -u 1666 li
[[email protected] ~]# su - li
[[email protected] ~]$ cd /mnt/test/
[[email protected] test]$ touch 10.txt
[[email protected] test]$ ls
10.txt 123.txt 1.txt 3.txt a.txt
安全NFS服务
LDAP : 网络用户,提供用户名
kerberos:密码验证
1.服务端修改配置文件,创建读写的共享
[[email protected] ~]# mkdir /protected
[[email protected] ~]# vim /etc/exports
...
/protected *(rw,sec=krb5p)
...
2.服务端和客户端部署加密密钥 这里是使用在网上下载的密钥
[[email protected] ~]# wget http://172.25.254.254/pub/keytabs/server0.keytab -O /etc/krb5.keytab
[[email protected] ~]# wget http://172.25.254.254/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab
3.服务端 nfs-server nfs-secure-server 重启
[[email protected] ~]# systemctl restart nfs-server nfs-secure-server
[[email protected] ~]# systemctl enable nfs-server nfs-secure-server
4.保证ldapuser0用户有写权限,设置本地权限
[[email protected] ~]# chown ldapuser0 /test #备用
[[email protected] ~]# setfacl -m u:ldapuser0:rwx /protected
5.客户端访问与挂载
[[email protected] ~]# showmount -e 172.25.0.11
Export list for 172.25.0.11:
/test *
[[email protected] ~]# mkdir /mnt/nfs
[[email protected] ~]# vim /etc/fstab
...
172.25.0.11:/protected /mnt/nfs nfs _netdev,sec=krb5p 0 0
...
6.重启相关服务
[[email protected] ~]# systemctl restart nfs nfs-secure
7.验证挂载
[[email protected] ~]# mount -a
[[email protected] ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 10G 3.1G 7.0G 31% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 921M 80K 921M 1% /dev/shm
tmpfs 921M 17M 904M 2% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
172.25.0.11:/protected 10G 3.1G 6.9G 31% /mnt/nfs
8.验证写入
[[email protected] ~]# ssh [email protected]
[email protected]'s password: kerberos
[[email protected] ~]$ cd /mnt/nfs/
[[email protected] nfs]$ touch 1.txt
[[email protected] nfs]$ ls
1.txt
在RHCE7的考试中有两道题是关于nfs的:
配置NFS共享服务
在 server0 配置 NFS 服务,要求如下:
以只读的方式共享目录 /public,只能被 example.com 域中的系统访问
以读写的方式共享目录 /protected,只能被 example.com 域中的系统访问
访问 /protected 需要通过 Kerberos 安全加密,您可以使用下面 URL 提供的密钥:http://classroom.example.com/pub/keytabs/server0.keytab
目录 /protected 应该包含名为 project 拥有人为 ldapuser0 的子目录
用户 ldapuser0 能以读写方式访问 /protected/project
[[email protected] ~]#mkdir -p /public /protected/project
[[email protected] ~]#chown ldapuser0 /protected/project/
[[email protected] ~]#wget -O /etc/krb5.keytab http://classroom/pub/keytabs/server0.keytab
[[email protected] ~]#vim /etc/exports
/public172.25.0.0/24(ro)
/protected172.25.0.0/24(rw,sec=krb5p)
[[email protected] ~]#systemctl start nfs-secure-server nfs-server
[[email protected] ~]#systemctl enable nfs-secure-server nfs-server
挂载NFS共享
在 desktop0 上挂载一个来自 server0.example.com 的共享,并符合下列要求:
/public 挂载在下面的目录上 /mnt/nfsmount
/protected 挂载在下面的目录上 /mnt/nfssecure 并使用安全的方式,密钥下载 URL:http://classroom.example.com/pub/keytabs/desktop0.keytab
用户 ldapuser0 能够在/mnt/nfssecure/project 上创建文件
这些文件系统在系统启动时自动挂载
[[email protected] ~]#mkdir -p /mnt/nfsmount /mnt/nfssecure
[[email protected] ~]#wget -O /etc/krb5.keytab http://classroom/pub/keytabs/desktop0.keytab
[[email protected] ~]#systemctl start nfs-secure
[[email protected] ~]#systemctl enable nfs-secure
[[email protected] ~]#showmount -e server0
[[email protected] ~]#vim /etc/fstab
server0.example.com:/public /mnt/nfsmount nfs _netdev 0 0
server0.example.com:/protected /mnt/nfssecure nfs sec=krb5p,_netdev 0 0
[[email protected] ~]#mount -a
[[email protected] ~]#ssh [email protected]
经常遇见的问题:
# mount -a
.... Permission Denied。
可能的原因:
1)服务端的 /etc/exports配置没有给权限(比如忘记写掩码长度)
2)服务端的 nfs-secure-server 服务没开启
3)客户端的 nfs-secure 服务没开启
4)密钥部署的名称不对、内容不对
以上是关于全面分析RHCE7(红帽认证工程师)考试题目之 ----NFS文件共享 篇的主要内容,如果未能解决你的问题,请参考以下文章
全面分析RHCE7(红帽认证工程师)考试题目之 ---Firewall(防火墙)篇
全面分析RHCE7(红帽认证工程师)考试题目之 ----NFS文件共享 篇
全面分析RHCE7(红帽认证工程师)考试题目之 ----WEB 服务器 篇
全面分析RHCE7(红帽认证工程师)考试题目之 ----配置IPv6地址,配置聚合连接篇