Linux---RH254---unit 6 NFS

来源:互联网 发布:w7内外网转换软件 编辑:程序博客网 时间:2024/05/22 13:16

1.NFS概念

    网络文件系统(NFS)是Unix系统和网络附加存储文件管理器常用的网络文件系统,允许多个客户端通过网络共享文件访问。它可用于提供对共享二进制目录的访问,也可用于允许用户在同一工作组中从不同客户端访问其文件。

    NFS协议有多个版本:Linux支持版本4、版本3和版本2, 而大多数系统管理员熟悉的是NFSv3。默认情况下,该协议并不安全,但是更新的版本(如NFSv4)提供了对更安全的身份验证的支持,甚至可以通过kerberos进行加密。

 

2.启用服务

vim /etc/yum.repos.d/rhel_dvd.repo

baseurl = http://172.25.31.254/content/rhel7


服务端

yum install nfs-utils -y ##安装服务

systemctl start nfs-server ##开启服务

systemctl enable nfs-server ##开机启动

firewall-cmd --permanent --add-service=nfs

firewall-cmd --permanent --add-service=rpc-bind

firewall-cmd --permanent --add-service=mountd

firewall-cmd --reload


客户端测试

showmount -e 172.25.31.11

Export list for 172.25.31.11:

 

 

3.共享目录

服务端

mkdir /public ##创建共享目录

touch /public/westostest{1..3}

chmod 777 /public ##设置权限

 

vim /etc/exports

/public         *(sync) ##public共享给所有人并且数据同步



vim /etc/exports

/public         172.25.31.10(sync) ##public共享给172.25.31.10



vim /etc/exports

/public         172.25.31.0/24(sync) ##public共享给172.25.31.0/24网段



vim /etc/exports

/public *.example.com(sync) ##public共享给example.com域的所有主机

exportfs -rv

客户端测试

showmount -e 172.25.31.11

mount 172.25.31.11:/public /mnt

cd /mnt/

ls

touch file

cd

umount /mnt/


 

vim /etc/exports

/public 172.25.31.10(ro,sync) ##public共享给172.25.31.10是只读

exportfs -rv



客户端测试

showmount -e 172.25.31.11

mount 172.25.31.11:/public /mnt

cd /mnt/

ls

touch file

cd

umount /mnt/


 

vim /etc/exports

/public 172.25.31.10(rw,sync) ##public共享给172.25.31.10是读写

exportfs -rv



客户端测试

showmount -e 172.25.31.11

mount 172.25.31.11:/public /mnt

cd /mnt/

ls

touch file

ls

cd

umount /mnt/


 

vim /etc/exports

/public *(rw,sync,no_root_squash) ##public共享给所有人,当客户端使用root挂载不转换用户身份

exportfs -rv



客户端测试

showmount -e 172.25.31.11

mount 172.25.31.11:/public /mnt

cd /mnt/

ll

touch file1

ll

cd

umount /mnt/


 

vim /etc/exports

/public *(rw,sync,anonuid=1001,anongid=1000) ##public共享给所有人以1001为uid,1000为gid

exportfs -rv



客户端测试

showmount -e 172.25.31.11

mount 172.25.31.11:/public /mnt

cd /mnt/

ll

touch file2

ll

cd

umount /mnt/


 

4.利用kerberos保护nfs输出

server上

开启kerberos认证,得到ldap用户

vim /etc/yum.repos.d/rhel_dvd.repo

baseurl = http://172.25.31.254/content/rhel7


yum install sssd krb5-workstation authconfig-gtk -y


authconfig-gtk




wget http://172.25.254.254/pub/keytabs/server31.keytab -O /etc/krb5.keytab


ktutil

ktutil:  rkt /etc/krb5.keytab

ktutil:  list

systemctl restart nfs-secure-server

systemctl enable nfs-secure-server


vim /etc/exports

/public         *(rw,sec=krb5p)


exportfs -rv


 

desktop上

开启kerberos认证,得到ldap用户

vim /etc/yum.repos.d/rhel_dvd.repo

baseurl = http://172.25.31.254/content/rhel7


yum install sssd krb5-workstation authconfig-gtk -y


authconfig-gtk




wget http://172.25.254.254/pub/keytabs/desktop31.keytab -O /etc/krb5.keytab


ktutil

ktutil:  rkt /etc/krb5.keytab

ktutil:  list


systemctl start nfs-secure

systemctl enable nfs-secure

mount -o sec=krb5p 172.25.31.11:/public /mnt


su - student

cd /mnt

su - ldapuser1

klist

ls /mnt