NFS是一种在Linux主机之间实现文件共享的机制
NFS的核心认证机制基于主机认证
共享文件的权限由两个层次决定:文件系统权限和共享权限
文件共享需要安装NFS服务器软件包,使用`yum list nfs*`查看安装情况
NFS服务器通常使用`nfsd`进程进行文件服务,而`rpc.mountd`负责身份认证
NFS提供了文件锁机制,`rpc.lockd`和`rpc.statd`分别处理文件锁和状态信息
`rpc.quotadl`则负责实现NFS的磁盘配额功能
NFS服务通常通过启动脚本同时启动`nfsd`和`rpc`组件
NFS客户端通常使用2049端口,支持TCP和UDP两种协议
NFS配置文件包括主配置文件`/etc/exports`和辅助配置文件`/etc/sysconfig/nfs`
NFS协议有多个版本演变,目前主要使用NFS4.x版本,相比前代版本增加了更多安全机制
NFS共享目录的权限设置支持`uid`和`gid`映射,用户登录时会根据自己的`uid`进行权限映射
`/etc/exports`配置文件中,共享目录的权限选项包括`ro`、`rw`、`sync`、`async`等
`sync`模式下写入会立即同步到硬盘,`async`模式下写入先写入内存再同步到硬盘
`no_root_squash`限制了root用户的权限,而`root_squash`则会将root用户映射为来宾账号
`all_squash`选项会将所有用户映射为来宾账号
服务管理命令包括`service nfs restart`启动服务、`service portmap status`查看端口状态
查看RPC服务的端口可以使用`rpcinfo -p`命令
客户端挂载NFS共享可以使用`mount -t nfs`命令
`showmount -e`命令可以显示服务器共享的文件系统情况
NFS共享支持动态挂载和卸载,使用`exportfs -a`全挂载、`exportfs -r`挂载、`exportfs -u`卸载等命令
`exportfs -arv`命令可以查看当前挂载的文件系统信息
在`/etc/sysconfig/nfs`中可以配置RPC进程的静态端口
`/etc/services`文件中可以定义NFS相关服务的端口映射
在实际应用中,建议根据网络环境配置合适的网络掩码,例如`192.168.0.0/24`,并支持主机名或IP地址的匹配规则
NFS共享支持使用正则表达式来筛选客户端-access
文件权限和用户映射关系需要谨慎处理,确保操作权限的准确性