全面分析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地址,配置聚合连接篇

全面分析RHCE(红帽认证工程师)考试题目之 ----SELinux篇

全面分析RHCE(红帽认证工程师)考试题目之 ----alias(自定义别名)篇