Centos

我無法使用 su 命令以 root 身份登錄,但我可以使用 SSH

  • September 8, 2016

我怎麼可能無法通過su rootor以 root 身份登錄su(我收到不正確的密碼錯誤),我可以通過ssh root@localhostssh root@my_local_IP使用相同的密碼登錄?

我正在使用 CentOS 6.4。


更新1

cat /etc/pam.d/su

給出:

#%PAM-1.0
auth        sufficient  pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth       sufficient  pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth       required    pam_wheel.so use_uid
auth        include     system-auth
account     sufficient  pam_succeed_if.so uid = 0 use_uid quiet
account     include     system-auth
password    include     system-auth
session     include     system-auth
session     optional    pam_xauth.so

更新2

$ sudo grep su /var/log/secure | grep -v sudo

給出:

Feb 23 13:12:17 fallah su: pam_unix(su:auth): authentication failure;
logname=fallah uid=501 euid=501 tty=pts/0 ruser=fallah rhost=  user=root

重複約20次。

在您的評論中,您說/bin/su具有以下模式/所有者:

-rwxrwxrwx. 1 root root 30092 Jun 22 2012 /bin/su

這裡有兩個問題。

  • 它需要打開 set-uid 位,以便它始終以 root 權限執行,否則當普通(非 root)使用者執行它時,它將無法訪問密碼資訊,/etc/shadow也無法設置userid 到所需的新使用者。
  • 它應該關閉group和寫入位,以便其他使用者無法更改它。other

要解決這個問題,請登錄root- 你說你可以這樣做ssh- 並輸入

chmod 4755 /bin/su

或者,或者,

chmod u+s,g-w,o-w /bin/su

chmod 的標准文件更詳細地說明了它需要什麼樣的參數。)這會將模式位恢復到首次安裝作業系統時的方式。當您列出此文件時,它應該如下所示:

-rwsr-xr-x. 1 root root 30092 Jun 22 2012 /bin/su

正如@G-Man 所指出的,模式 777 的文件可能會被不受信任的使用者覆蓋,如果是這種情況,您可能需要從分發介質或備份重新安裝它們。

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