macOS High Sierra 問題掛載 Kerberized NFSv4 共享
我正在為 LDAP/Kerberos 使用 FreeIPA,並且為儲存設備(Dell/EMC UnityVSA VM)創建了一個主體。我已經使用 IPA 中的 keytab 設置了 VSA,我還在 VSA 中設置了 LDAP 配置並創建了一個支持 Kerberized NFS 共享的 NAS。IPA 和 VSA 都沒有報告任何問題,而且名義上看起來還不錯。
從 macOS 客戶端(High Sierra),當伺服器上的 Kerberos 被禁用時,我可以掛載 NFSv4 共享(所以基礎工作)。但是,當我為該共享的安全性指定 Kerberos 時,我無法連接(“權限被拒絕”)。
我用來掛載的命令是:
sudo mount_nfs -vv -o sec=krb5,vers=4 <storage-server>:/test ~/test
輸出是:
mount <storage-server>:/test on /Users/<user>/test mount flags: 0x0 socket: type:any,nomntudp file system locations: /test <storage-server> inet <ip of storage server> NFS options: fg,retrycnt=1,vers=4,hard,nointr,noresvport,conn,callback,negnamecache,nonamedattr,acl,noaclonly,nocallumnt,locks,quota,rsize=32768,wsize=32768,readahead=16,dsize=32768,nordirplus,nodumbtimr,timeo=10,retrans=10,maxgroups=16,acregmin=5,acregmax=60,acdirmin=5,acdirmax=60,deadtimeout=0,nomutejukebox,noephemeral,nonfc,sec=krb5 mount_nfs: can't mount /test from <storage-server> onto <mount-point>: Permission denied
我能夠從客戶端的 KDC 獲得一張票。
klist
在我嘗試連接到 NFS 共享後,該命令顯示以下輸出,其中第二個條目是 VSA(儲存伺服器)的 IPA 主體。Credentials cache: API:A2FC2CF2-BA23-CE06-BC50-D5CA1180C946 Principal: admin@<REALM> Issued Expires Principal Feb 20 21:13:07 2019 Feb 21 21:12:46 2019 krbtgt/<REALM>@<REALM> Feb 20 21:18:12 2019 Feb 21 21:12:46 2019 nfs/<storage-server>.<domain>@<REALM>
我客戶端上的 /etc/krb5.conf 文件如下所示:
[libdefaults] default_realm = <REALM> dns_lookup_realm = false dns_lookup_kdc = true rdns = false ticket_lifetime = 24h forwardable = true udp_preference_limit = 0 default_ccache_name = KEYRING:persistent:%{uid} [realms] <REALM> = { kdc = tcp/<FQDN of IPA> admin_server = tcp/<FQDN of IPA> } [domain_realm] .<domain> = <REALM> <domain> = <REALM> <FQDN of IPA> = <REALM> <FQDN of storage-server> = <REALM>
順便說一句,我不能
kadmin
去上班。例如,命令kadmin admin@REALM.COM
返回以下輸出:
kadmin: kadm5_init_with_password: Cannot contact any KDC for requested realm
有什麼想法我在這裡想念的嗎?我是否需要 krb5.conf 文件,或者 IPA 是否應該能夠處理 DNS 中的所有服務記錄?
更新
當我
AUTH_SYS
在伺服器端指定時,在 NFS 連接方面似乎也可以正常工作。更新 2:WireShark 轉儲
下面的轉儲顯示了在上面的 mount 命令期間客戶端和 NFS 伺服器之間的 NFS 流量。第一個是客戶端,第二個是伺服器響應(下面成對繼續):
原來是 UnityVSA 上的模式規範存在問題,因此它無法正確執行 LDAP 搜尋;Kerberized NFS 現在可以工作了。
仍然不知道為什麼
kadmin
返回它在 macOS 上的作用。作為記錄,
/etc/krb5.conf
(或 中的等效文件/Library/Preferences/...
)根本不需要,DNS 負責所有繁重的工作。帶有 IPA 的 macOS 不需要特定的加密配置,開箱即用。為了以後參考,在行為方面,即使在 macOS Ticket Viewer 中指定了 Kerberos 身份(密碼儲存在鑰匙串中),也必須顯式請求票證(如果票證未啟動但指定了身份,則票證例如,在訪問 finder 中訪問 NFS 共享時不會隱式請求)。