#############nfs#################
1.作用:让unix机器互享文件
2.nfs配置文件及参数:
/etc/exports ##是nfs的主配置文件
rw : read-write
ro : read-only
sync : sync代表数据会同步写入内存与硬盘之中
async : 代表数据会暂存于内存,而非直接写入硬盘
root_squash : 客户端root身份会压缩成nfsnobady
no_root_squash : 开放客户端root身份
all_aquash : 不论登陆的nfs用户为何,都会被压缩成匿名用户nobody
anonuid :可以自行设置uid的值但必须存在于/etc/passwd中
anongid :可以自行设置组的gid但必须存在于/etc/passwd中
3.实验
1).启用服务
yum install nfs-utils ##安装服务
systemctl enable nfs-server ##设置开机启动服务
systemctl start nfs-server ##启动服务
firewall-cmd --permanent --add-service=nfs ##添加nfs服务到火墙策略中
firewall-cmd --permanent --add-service=rpc-bind ##添加RPC服务到火墙策略中
firewall-cmd --permanent --add-service=mountd ##添加挂载到火墙策略中
firewall-cmd --reload
2).共享目录
server:
mkdir /public ##建立共享目录
chmod 777 /public ##给共享目录777的权限,为了方便进行测试
exportfs -rv ##不能重启服务,只能用此命令刷新
showmount -e serverip查询
vim /etc/exports ##man 5 exportfs
要共享的系统目录 共享方式
/public *(sync) ##public共享给所有人并且数据同步
/public 172.25.0.0/24(sync) ##public共享给172.25.0.0这个网段
/public *.example.com(sync) ##public共享给example。com域的所有主机
/public 172.25.254.222(rw,sync,no_root_squash) ##当客户端使用root挂载不转换用户身份
/public 172.25.254.222(rw,sync,anonuid=1000,anongid=1000) ##共享给所有人以1000为uid,1000为gid
client:
mount serverip:/public(共享目录) /mnt(挂载到的目录)
3).
利用kerberos保护nfs输出
在server上:
开启kerberos认证,得到ldap用户
wget http://172。25.254.254/pub/keytabs/server22.keytab -O /etc/krb5.keytab
ktutil ##检测证书是否正确
rkt /etc/krb5.keytab
list
systemctl start nfs-secure-server
systemctl enable nfs-secure-server
vim /etc/exports
/public *(rw,sec=krb5p)
exportfs -rv
desktop:
yum install sssd krb5-workstation authconfig-gtk -y
wget http://172。25.254.254/pub/keytabs/desktop22.keytab -O /etc/krb5.keytab
ktutil ##检测证书是否正确
rkt /etc/krb5.keytab
list
mount 172.25.254.12:/public /mnt -o sec=krb5p
su - student
cd /mnt ##被拒绝
su -ldapuser1
password:kerberos
cd /mnt
ls
touch file ##可访问可写