(root) 使用 PAM 授權使用者失敗(權限被拒絕)
在跟踪 /var/log/cron 時,我注意到 cron 作業由於 PAM 權限而失敗。在我的 access.conf 中,我確實有以下未註釋的內容,以確保(或我認為確保)root 確實有權執行 cron 作業。
# User "root" should be allowed to get access via cron .. tty5 tty6. + : root : cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6
我在 Centos 7 Kernel 3.10.0-693.21.1.el7.x86_64 上,我們已經通過領域、sssd、kerberos 將它連接到我們的 Windows 活動目錄實例。我的安裝步驟可以在這裡找到Best Auth Mech to Connect to Windows AD
我現在不知所措,無法弄清楚可能是什麼原因造成的。我仔細檢查了root密碼沒有過期,也沒有過期。目前的 root 訪問權限是通過 windows 安全組配置的。
任何幫助將不勝感激!
編輯 我在 pam_access.so 的末尾添加了調試並得到以下資訊
crond[17411]: pam_access(crond:account): login_access: user=root, from=cron, file=/etc/security/access.conf crond[17411]: pam_access(crond:account): line 60: - : ALL EXCEPT wheel shutdown sync : LOCAL root crond[17411]: pam_access(crond:account): list_match: list=ALL EXCEPT wheel shutdown sync, item=root crond[17411]: pam_access(crond:account): user_match: tok=ALL, item=root crond[17411]: pam_access(crond:account): string_match: tok=ALL, item=root crond[17411]: pam_access(crond:account): user_match: tok=wheel, item=root crond[17411]: pam_access(crond:account): string_match: tok=wheel, item=root crond[17411]: pam_access(crond:account): user_match: tok=shutdown, item=root crond[17411]: pam_access(crond:account): string_match: tok=shutdown, item=root crond[17411]: pam_access(crond:account): user_match: tok=sync, item=root crond[17411]: pam_access(crond:account): string_match: tok=sync, item=root crond[17411]: pam_access(crond:account): user_match=1, "root" crond[17411]: pam_access(crond:account): list_match: list=LOCAL root, item=root crond[17411]: pam_access(crond:account): from_match: tok=LOCAL, item=cron crond[17411]: pam_access(crond:account): string_match: tok=LOCAL, item=cron crond[17411]: pam_access(crond:account): from_match=1, "cron" crond[17411]: pam_access(crond:account): access denied for user
根’來自’cron'
我最終將我的 access.conf 重新排列到下面。從某種意義上說,我將 cron 條目作為配置文件中的第二個條目,這似乎正確設置了 root 訪問 cron 的權限。
# # Disallow non-root logins on tty1 # #-:ALL EXCEPT root:tty1 # # User "root" should be allowed to get access via cron .. tty5 tty6. + : root : cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6 # # Disallow console logins to all but a few accounts. # -:ALL EXCEPT wheel shutdown sync:LOCAL root
如果有人知道,但我懷疑權限是建立在它們在配置中的輸入方式上的。即使您通過配置中的條目獲得權限,如果該條目之前的一行拒絕您訪問,它會覆蓋授予條目,因為它首先出現?