Root

su:無法打開會話:權限被拒絕

  • May 17, 2019

我嘗試在控制台上以 root 身份並通過 ssh 登錄時遇到“訪問被拒絕”(是的,我知道應該禁用 root ssh 訪問 - 我剛剛繼承了這個框)。我可以作為對“ALL”具有 sudo 訪問權限的非 root 使用者登錄,但是當sudo su -我得到:

su: cannot open session: Permission denied

如果我使用我認為正確的密碼執行“su”,我會收到“身份驗證失敗”。

環顧網際網路,我可以看到很多人們無法“su - non-root-user ”的情況,但在那裡有效的補救措施似乎都不適用於這裡。/etc、/etc/pam.d 上的權限是 0755,而 /etc/pam.d/* 上的權限都是 0644,除了更寬鬆的符號連結。/etc/passwd 中的 root 的 shell 是 /bin/bash(為我的非 root 使用者工作)。沒有 /etc/nologin

這是一個相當老的 Centos 主機。

除非必須,否則我寧願不要讓盒子離線來修復它。還有什麼可以阻止 root 登錄 / su / sudo su ?

更新 主機並不像我想像的那麼舊 - 它的 Centos 7.4

我可以通過執行獲得root權限

sudo -u root /bin/bash

(但更傳統的方法仍然失敗並出現相同的錯誤)。

在嘗試執行“su”時,會出現以下日誌條目(但 su 向標準輸出報告錯誤並退出)

May 17 15:25:06 myhost su: pam_limits(su:session): Could not set limit for 'nofile': Operation not permitted
May 17 15:25:06 myhost su: pam_unix(su:session): session opened for user root by symcbean(uid=0)

雖然@doneal24 非常正確地指出首先要查看的是日誌,但由於此框是在本地記錄,所以如果沒有 root 權限,我就無法做到這一點!:(

但是當我確定我仍然可以使用sudo -u root /bin/bash我能夠看到日誌時,我仍然可以進入根目錄….Google錯誤消息並發現 /etc/security/limits.conf 存在問題。

刪除對“root”的引用恢復了訪問。

引用自:https://unix.stackexchange.com/questions/518270