You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用fuse-nfs挂载NFS服务器时如何配置凭证提示?

实现NFS挂载时需要输入凭证的配置方案

当前你的NFS服务器配置是完全开放的(*允许所有IP访问,no_root_squash放开权限),所以客户端无需凭证即可挂载。要实现挂载时验证凭证,推荐使用Kerberos认证(NFS原生的安全认证机制),以下是具体配置步骤:

一、服务器端(机器A)配置

  1. 安装Kerberos相关服务包
sudo apt install krb5-kdc krb5-admin-server nfs-kernel-server krb5-config

安装过程中会提示配置Kerberos领域(比如设为EXAMPLE.COM)、KDC服务器(填机器A的IP或主机名)、管理员服务器(同KDC服务器),按提示完成配置。

  1. 初始化Kerberos数据库并创建认证主体
  • 初始化KDC数据库(设置数据库密码):
sudo krb5_newrealm
  • 为NFS服务创建认证主体:
sudo kadmin.local -q "addprinc -randkey nfs/$(hostname -f)@EXAMPLE.COM"
  • 为客户端用户创建认证主体(比如你客户端的用户pankaj,设置挂载时要输入的密码):
sudo kadmin.local -q "addprinc pankaj@EXAMPLE.COM"
  1. 修改NFS导出配置,启用Kerberos认证
    编辑/etc/exports,替换原有配置为:
/mnt/myshareddir <机器B的IP或网段>(rw,sync,no_subtree_check,sec=krb5)

把<机器B的IP或网段>换成客户端的实际IP(比如192.168.1.100),限制只有指定客户端能访问,同时sec=krb5强制要求Kerberos认证。

  1. 重启相关服务
sudo systemctl restart nfs-kernel-server krb5-kdc krb5-admin-server

二、客户端(机器B)配置

  1. 安装Kerberos客户端和fuse-nfs
sudo apt install krb5-user fuse-nfs
  1. 配置Kerberos客户端
    编辑/etc/krb5.conf,确保内容和服务器端的Kerberos配置一致:
[libdefaults]
    default_realm = EXAMPLE.COM

[realms]
    EXAMPLE.COM = {
        kdc = <机器A的IP或主机名>
        admin_server = <机器A的IP或主机名>
    }

[domain_realm]
    .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM

替换<机器A的IP或主机名>为实际地址。

  1. 挂载NFS(需输入凭证)
    每次挂载前先获取Kerberos票据(会提示输入密码),再执行挂载:
kinit pankaj@EXAMPLE.COM
fuse-nfs -n nfs://<机器A的IP>/mnt/myshareddir -m /home/pankaj/mymountdir -o sec=krb5

执行kinit时会要求输入你在服务器端为pankaj@EXAMPLE.COM设置的密码,验证通过后才能成功挂载。

替代方案:使用SSHFS(基于SSH认证)

如果你觉得Kerberos配置复杂,可以改用SSHFS(同样基于FUSE),依赖SSH的密码/密钥认证:

  1. 客户端安装SSHFS:
sudo apt install sshfs
  1. 挂载命令(会提示输入机器A上pankaj用户的SSH密码):
sshfs pankaj@<机器A的IP>:/mnt/myshareddir /home/pankaj/mymountdir

内容的提问来源于stack exchange,提问作者pkthapa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 22:53:10