Jak to możliwe, że nie mogę zalogować się jako root przez su root
lub su
(mam nieprawidłowe błąd hasło), ale mogę się zalogować przez ssh root@localhost
lub ssh root@my_local_IP
z tego samego hasła?
Używam CentOS 6.4.
Aktualizacja 1 :
cat /etc/pam.d/su
daje:
#%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
Aktualizacja 2 :
$ sudo grep su /var/log/secure | grep -v sudo
daje:
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
powtórzone około 20 razy.
centos
login
authentication
su
Alireza Fallah
źródło
źródło
/etc/securetty
(cp /etc/securetty{,.old}; : > /etc/securetty
). Jeśli to nadal nie działa, podaj treść/etc/pam.d/su
.ssh 192.168.1.218
po prostu logujesz się jako Ty? Aby zalogować się jako root za pomocąssh
normalnie trzebassh [email protected]
lubssh root@localhost
.echo $$
), otwórz (np. Przezssh
) powłokę główną (niezbędną do śledzenia plików binarnych SUID) i uruchomstrace
tę powłokę:strace -o su.strace -p 12345 -f
i poszukaj komunikatu o dziwnych błędach. Lub skopiuj ostatnie 30 wierszy przed komunikatem o błędzie do swojego pytania, jeśli nie znasz tego rodzaju danych wyjściowych.Process 11736 attached - interrupt to quit
chmod 4755 /bin/su
aby to naprawić.Odpowiedzi:
W swoim komentarzu powiedziałeś, że
/bin/su
ma następujący tryb / właściciela:Są tutaj dwa problemy.
musi mieć włączony bit set-uid, aby zawsze działał z uprawnieniami administratora, w przeciwnym razie, gdy uruchomi go zwykły użytkownik (inny niż root), nie będzie miał dostępu do informacji o haśle
/etc/shadow
ani możliwości ustawienia identyfikator użytkownika dla pożądanego nowego użytkownika.powinien mieć wyłączone bity zapisu
group
iother
zapisu, aby inni użytkownicy nie mogli go zmienić.Aby to naprawić, zaloguj się jako
root
- powiedziałeś, że możesz to zrobićssh
- i wpiszlub alternatywnie
(Dokument standardu dla chmod zawiera bardziej szczegółowe informacje na temat tego, jakie argumenty przyjmuje.) To przywróci bity trybu do stanu, w jakim były podczas pierwszej instalacji systemu operacyjnego. Kiedy wyświetlasz ten plik, powinien on wyglądać następująco:
Jak zauważył @ G-Man, pliki w trybie 777 mogą zostać zastąpione przez niezaufanych użytkowników, a jeśli tak, to możesz chcieć je ponownie zainstalować z nośnika dystrybucyjnego lub kopii zapasowych.
źródło
chmod 755 /bin/su
co są dodatkowe 4 ?4
Na pierwszej pozycji oznacza zgodę set-UID. Zmodyfikowałem swoją odpowiedź, aby dodać alternatywny sposób użycia chmod przy użyciu symbolicznych nazw bitów uprawnień. Mam nadzieję, że będzie to bardziej jasne.chmod -R 777 /bin
przez pomyłkę to zrobiłem i dlatego zostałem przeklęty: Drpm
aby przywrócić uprawnienia do plików, ale nie próbowałem tego.1. grupa kół?
Jest to prawdopodobne, ponieważ Twój identyfikator użytkownika nie znajduje się w
wheel
grupie. W dystrybucjach Red Hat możesz jawnie zabronić użytkownikom, którzy nie są w tej grupie, uruchamianiasu
komendy.Oto
su
jak domyślnie wygląda konfiguracja PAM:Ta linia może ograniczyć dostęp do
su
polecenia do użytkowników wwheel
grupie:Z tego dźwięku jest to włączone, a twój identyfikator użytkownika nie może obsługiwać
su
polecenia.SSH działa, ponieważ przechodzi przez inny mechanizm PAM. SSH ma również własne możliwości ograniczania dostępu do loginów root. Logowanie do rootowania jest zazwyczaj domyślnie dozwolone, przynajmniej w większości dystrybucji Red Hat:
Mimo, że powyższe zostało skomentowane, jest to ustawienie domyślne i pokazuje, jak OpenSSH pokazuje, że jest to ustawienie domyślne w konfiguracjach.
Pracujesz z tym?Jeśli Twój system jest skonfigurowany w ten sposób, możesz dodać swoją nazwę użytkownika do
wheel
grupy.Po wylogowaniu i ponownym zalogowaniu:
UWAGA: Mój identyfikator użytkownika to „saml” powyżej.
2. Uprawnienia na su?
Sprawdź, czy plik wykonywalny jest własnością użytkownika root.
Potwierdź również, że pliki wykonywalne mają
s
włączone bity. To sprawia, że są setuidami, więc kiedy są wykonywane, uruchamiają się jako root.3. Co mówią logi?
Podczas próby wykonania
su -
polecenia powinieneś zobaczyć wpisy/var/log/secure
dotyczące tej próby.Przejrzyj ten dziennik, aby uzyskać dodatkowe informacje.
4. Czy na pewno hasło nie stanowi problemu?
Podczas próby zalogowania się przy użyciu
su -
niepoprawnego hasła otrzymuję następujące informacje:Spróbuję utworzyć kolejne konto i sprawdzić, czy to drugie konto może działać
su -
poprawnie.źródło
usermod -a -G wheel my_username
i wynikgroups
jestfallah wheel
. Więc wynikcat /etc/pam.d/su
jest teraz w moim pytaniu, I znowu nie mogę zalogować się jako root za pomocą polecenia su !!!/var/log/secure
:Feb 24 10:19:45 fallah su: pam_unix(su:auth): authentication failure; logname=fallah uid=501 euid=501 tty=pts/2 ruser=fallah rhost= user=root
/var/log/secure
su: incorrect password
- i hasło jest prawidłowe, ponieważ mogę zalogować się przy użyciu tego samego hasła w SSHsu alireza
i ponownie ten sam problemJeśli pojawia się taki komunikat o błędzie
Wykonaj ten krok:
Następnie spróbuj su. To powinno działać.
źródło