首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >centos和kerberized工作良好,但只适用于nfs3。

centos和kerberized工作良好,但只适用于nfs3。
EN

Unix & Linux用户
提问于 2019-03-02 13:32:58
回答 1查看 532关注 0票数 1

我想装入一个nfs4内核化的共享。我在centos7上,kerberos服务器是Freeipa,客户端是centos7。问题是我的配置适用于nfs3,而不是nfs4。首先我把我的配置

/etc/出口

代码语言:javascript
复制
/export         10.2.0.0/24(ro,no_subtree_check,fsid=0,)
/export/public      10.2.0.0/24(ro,no_subtree_check,async,root_squash,nohide,sec=sys)
/export/private     10.2.0.0/24(ro,no_subtree_check,async,root_squash,nohide,sec=krb5p)

/etc/nfsmount.conf

代码语言:javascript
复制
   [ NFSMount_Global_Options ]
    Defaultvers=4
    Defaultproto=tcp
    mountport=4001
    Port=2049

/etc/krb5.conf

代码语言:javascript
复制
#File modified by ipa-client-install

includedir /etc/krb5.conf.d/
includedir /var/lib/sss/pubconf/krb5.include.d/

[libdefaults]
  default_realm = MYREALM.FAKE
  dns_lookup_realm = true
  dns_lookup_kdc = true
  rdns = false
  dns_canonicalize_hostname = false
  ticket_lifetime = 24h
  forwardable = true
  udp_preference_limit = 0
  default_ccache_name = KEYRING:persistent:%{uid}


[realms]
  MYREALM.FAKE = {
    pkinit_anchors = FILE:/var/lib/ipa-client/pki/kdc-ca-bundle.pem
    pkinit_pool = FILE:/var/lib/ipa-client/pki/ca-bundle.pem

  }


[domain_realm]
  .myrealm.fake = MYREALM.FAKE
  myrealm.fake = MYREALM.FAKE
  centos1.myrealm.fake = MYREALM.FAKE

我拿到钥匙了

代码语言:javascript
复制
echo mypassword|kinit myuser

klist报告是否正常

现在,尝试在没有kerberos+nfs4的情况下挂载"public“

代码语言:javascript
复制
mount -t nfs  centos1:/public /mnt/ -vvv
mount.nfs: timeout set for Sat Mar  2 14:23:05 2019
mount.nfs: trying text-based options 'mountport=4001,port=2049,vers=4.1,addr=10.2.0.77,clientaddr=10.2.0.77'

而且还好

现在没有kerberos+nfs3的“公众”

代码语言:javascript
复制
mount -t nfs  centos1:/export/public /mnt/ -vvv
mount.nfs: timeout set for Sat Mar  2 14:26:41 2019
mount.nfs: trying text-based options 'vers=4.1,addr=10.2.0.77,clientaddr=10.2.0.77'
mount.nfs: mount(2): No such file or directory
mount.nfs: trying text-based options 'addr=10.2.0.77'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 10.2.0.77 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 10.2.0.77 prog 100005 vers 3 prot UDP port 20048

而且还好

现在kerberos+nfs3的“私有”

代码语言:javascript
复制
mount -t nfs  centos1:/export/private /mnt/ -vvv
mount.nfs: timeout set for Sat Mar  2 14:28:05 2019
mount.nfs: trying text-based options 'vers=4.1,addr=10.2.0.77,clientaddr=10.2.0.77'
mount.nfs: mount(2): No such file or directory
mount.nfs: trying text-based options 'addr=10.2.0.77'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 10.2.0.77 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 10.2.0.77 prog 100005 vers 3 prot UDP port 20048

也没问题。

问题是如果我尝试使用nfs4

代码语言:javascript
复制
mount -t nfs4  centos1:/private /mnt/ -vvv
mount.nfs4: timeout set for Sat Mar  2 14:29:54 2019
mount.nfs4: trying text-based options 'vers=4.1,addr=10.2.0.77,clientaddr=10.2.0.77'
mount.nfs4: mount(2): Operation not permitted
mount.nfs4: Operation not permitted

我也尝试过从其他客户端,同样的错误ipa服务器报告。

代码语言:javascript
复制
Mar 02 14:29:12 freeipa.realm.fake krb5kdc[611](info): AS_REQ (8 etypes {18 17 20 19 16 23 25 26}) 10.2.0.77: NEEDED_PREAUTH: admin@REALM.FAKE for krbtgt/REALM.FAKE@REALM.FAKE, Additional pre-authentication required
Mar 02 14:29:12 freeipa.realm.fake krb5kdc[611](info): closing down fd 11
Mar 02 14:29:12 freeipa.realm.fake krb5kdc[611](info): AS_REQ (8 etypes {18 17 20 19 16 23 25 26}) 10.2.0.77: ISSUE: authtime 1551533352, etypes {rep=18 tkt=18 ses=18}, admin@REALM.FAKE for krbtgt/REALM.FAKE@REALM.FAKE
Mar 02 14:29:12 freeipa.realm.fake krb5kdc[611](info): closing down fd 11

为什么nfs角化只适用于nfs3?我试过让firewalld和selinux残疾:同样的事情。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-03-03 09:03:03

找到了解决方案,我编辑了/etc/导出如下

代码语言:javascript
复制
/export             10.2.0.0/24(ro,no_subtree_check,fsid=0,sec=krb5p:sys)
/export/private         10.2.0.0/24(ro,no_subtree_check,async,root_squash,nohide,sec=krb5p)
/export/public      10.2.0.0/24(ro,no_subtree_check,async,root_squash,nohide,sec=sys)

现在效果很好。

代码语言:javascript
复制
mount -vvv -t nfs4 -o sec=krb5p  centos1.myrealm.fake:/private /mnt
mount.nfs4: timeout set for Sun Mar  3 09:59:06 2019
mount.nfs4: trying text-based options 'sec=krb5p,vers=4.1,addr=10.2.0.77,clientaddr=10.2.0.77'
umount /mnt
mount -vvv -t nfs4 -o sec=sys  centos1.myrealm.fake:/public /mnt
mount.nfs4: timeout set for Sun Mar  3 09:59:19 2019
mount.nfs4: trying text-based options 'sec=sys,vers=4.1,addr=10.2.0.77,clientaddr=10.2.0.77'
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/503959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档