mtak@rubiks:~$ ssh admin@pdv1
admin@pdv1's password:
Linux pdv1 4.4.8-1-pve #1 SMP Tue May 17 16:14:08 CEST 2016 x86_64
Last login: Wed Aug 24 12:05:28 2016 from xxx
root@pdv1:~#
Skąd wiesz , żesshd sprawdza UID 0? Nie używasz żadnej argumentacji na poparcie swojego oświadczenia.
mtak
2
Unix definiuje superużytkownika przez jego UID = 0. Jako inny przykład może być kod źródłowy z openssh.
Jakuje
Jądro działa, ale zakładałeś, że OpenSSH również. Na przykład podstawowe uwierzytelnianie Apache również nie pozwala na logowanie roota, prawda? Dziękuję za link, zmodyfikowałem twoją odpowiedź, aby to uwzględnić.
mtak
1
Gdyby zrobił to w inny sposób, stanowiłoby potencjalne zagrożenie bezpieczeństwa.
Jakuje
3
@ Bakuriu i dlaczego stworzy pwkontekst z czegoś innego. opensshKod jest open source i zainteresowani czytelnicy mogą przejść przez cały kod. Podobne konstrukcje są w całym kodzie dla każdej metody uwierzytelniania. Jeśli grepprzejrzysz kod, nigdy go nie znajdziesz strcmp('root', pw->pw_name), czy dzięki temu będzie bardziej wiarygodny.
root@pdv1
w powłoceDoceniam podejście @mtak w drugiej odpowiedzi, ale odpowiedź jest oczywista nawet bez tych prób.
Opiera się on na
UID
, jak widać w kodzie źródłowym openssh:Również każda metoda uwierzytelniania pokazuje coś takiego
grep
- w dalszej części kodu możesz zauważyć, że nie ma żadnejstrcmp('root', pw->pw_name)
alternatywy, jeśli to ci wystarczy.źródło
sshd
sprawdza UID 0? Nie używasz żadnej argumentacji na poparcie swojego oświadczenia.openssh
.pw
kontekst z czegoś innego.openssh
Kod jest open source i zainteresowani czytelnicy mogą przejść przez cały kod. Podobne konstrukcje są w całym kodzie dla każdej metody uwierzytelniania. Jeśligrep
przejrzysz kod, nigdy go nie znajdzieszstrcmp('root', pw->pw_name)
, czy dzięki temu będzie bardziej wiarygodny.