1. 程式人生 > >su 切換,提示:“密碼不正確”;

su 切換,提示:“密碼不正確”;

平時都用root使用者登入測試伺服器,今天使用個人普通使用者leixj登入後想通過su切換到root,在使用su時,結果提示“密碼不正確” :

[[email protected] ~]$ su - root
口令:
su: 密碼不正確

重複試了幾次;為了驗證密碼,我將root密碼改成了123,結果還是提示“密碼不正確”;

檢視/etc下passw和shadow許可權:

-rw-r------ 1 root root 2840 03-05 18:55 /etc/passwd
-rw-r------ 1 root root 1937 04-02 11:07 /etc/shadow

發現普通使用者沒有讀passwd檔案的許可權,然後修改passwd許可權:

#chmod 644 /etc/passwd
在重新切換到root

[[email protected] ~]$ su - root
口令:
su: cannot set groups: 不允許的操作

百度了下,原因是/bin/su檔案被取消了s位,所以解決方法是 chmod a+s /bin/su

#ll /bin/su

-rwxr-xr-x 1 root root 39948 03-05 14:38 /bin/su
#chmod a+s /bin/su

#ll /bin/su

-rwsr-sr-x 1 root root 39948 03-05 14:38 /bin/su

在用leixj使用者切換root:[

[email protected] ~]$ su - root
口令:
[[email protected] ~]# l

呵呵,好了!

說明:

平常我們使用的許可權最多的是r(可讀)、w(可寫)、x(可執行),絕對錶示是421,有些比較特殊的許可權如下:

s:檔案屬主和組設定SUID和GUID,檔案在被設定了s許可權後將以root身份執行。在設定s許可權時檔案屬主、屬組必須先設定相應的x許可權,否則s許可權並不能正真生效(c h m o d命令不進行必要的完整性檢查,即使不設定x許可權就設定s許可權,chmod也不會報錯,當我們ls -l時看到rwS,大寫S說明s許可權未生效)。Linux修改密碼的passwd便是個設定了SUID的程式,普通使用者無讀寫/etc/shadow檔案的許可權確可以修改自己的密碼。

t :設定粘著位,一個檔案可讀寫的使用者並一定相讓他有刪除此檔案的許可權,如果檔案設定了t許可權則只用屬主和root有刪除檔案的許可權,通過chmod +t filename 來設定t許可權。
i:不可修改許可權  例:chattr u+i filename 則filename檔案就不可修改,無論任何人,如果需要修改需要先刪除i許可權,用chattr -i filename就可以了。檢視檔案是否設定了i許可權用lsattr filename。
a:只追加許可權, 對於日誌系統很好用,這個許可權讓目標檔案只能追加,不能刪除,而且不能通過編輯器追加。可以使用chattr +a設定追加許可權。