創建新的 Kerberos 使用者
我繼承了一個執行 Kerberos 的 Fedora Linux 系統,我正在嘗試創建一個新使用者。我已經能夠調出 kadmin 提示符,並且正在嘗試創建使用者 NewUser,因此我嘗試發出以下命令:
ank -policy users NewUser
但我收到錯誤消息:
add_principal: Policy does not exist while creating "NewUser@mydomain.com".
然後我嘗試了:
addprinc NewUser
這似乎成功了,但是當我嘗試使用這個新帳戶登錄到我們的 Kerberos 域上的其他機器時,我得到了一個
permission denied
錯誤。我還需要做什麼才能創建新的 Kerberos 使用者?
Kerberos 是一個身份驗證系統;它驗證使用者是他們所說的那個人。然而,它不是一個授權系統;誰可以做什麼(包括登錄)並沒有太多發言權。
特別是,要登錄 Linux 系統,您需要來自 NSS(名稱服務開關)的所有 passwd 條目。所以這個使用者需要指定一個主目錄、uid、主 gid 和預設 shell。在正常 Linux 系統上,此資訊通常由
/etc/passwd
. 但是,NSS 允許您使用其他類型的服務來提供此資訊,這在網路環境中很常見。該資訊可以來自本地文件、LDAP、NIS、winbind(samba) 或其他。NSS 可以在/etc/nsswitch.conf
. 查看此文件應顯示 passwd 資訊的來源。執行命令getent passwd username
查詢 nss 以獲取與指定使用者關聯的資訊 passwd。如果 kerberos 工作正常,
kinit username
應該允許您獲取使用者的憑據。(使用者klist
查看憑據,kdestroy
刪除它們)如果 NSS 正在工作,
getent passwd username
則應顯示該使用者的有效密碼條目。如果 PAM 配置正確(在 中
/etc/pam.d
,可能使用 pam_krb5 模組),並且 NSS 和 kerberos 正在工作,則使用者應該能夠登錄。如果登錄仍然失敗,可能值得在命令行而不是圖形登錄上測試登錄(如果尚未這樣做)。不正確的權限或不存在的主目錄可能會導致圖形環境出現問題,但對於 shell 登錄來說問題不大。