Jaka jest różnica między każdym typem pozycji (konsola, vc / i tty ). W szczególności, jaki jest końcowy wynik dodawania i usuwania każdego typu pozycji?
Rozumiem, że wpływają one na sposób i czas logowania, ale czy są jeszcze inne efekty? A kiedy możesz i kiedy nie możesz się zalogować, w zależności od tego, które wpisy tam są?
EDYCJA 1
Wiem, że tty 1-6 odpowiadają, czy możesz zalogować się z pierwszych 6 konsol, do których docierasz za pomocą CTRL-ALT-F1 przez CTRL-ALT-F6. Zawsze myślałem, że to wirtualne konsole, więc jestem trochę zdezorientowany. A co odpowiada również konsoli? Dzięki.
EDYCJA 2
Jaki jest efekt, jeśli występuje w trybie pojedynczego użytkownika?
/etc/securettyjest konsultowany przez moduł pam_securetty, aby zdecydować, z którego katalogu głównego terminali wirtualnych (ttyS) można się zalogować. W przeszłości /etc/securettykonsultowano się z takimi programami, jak logowanie bezpośrednie, ale teraz PAM to obsługuje. Tak więc zmiany /etc/securettywpłyną na wszystko przy użyciu PAM z plikiem konfiguracyjnym, który używa pam_securetty.so. Tak więc domyślnie dotyczy to tylko programu logowania. /etc/pam.d/loginsłuży do logowania lokalnego i /etc/pam.d/remotesłuży do zdalnego logowania (np. telnet).
Podstawowe typy wpisów i ich wpływ są następujące:
Jeśli /etc/securettynie istnieje, root może zalogować się z dowolnego tty
Jeśli /etc/securettyistnieje i jest pusty, dostęp do konta root zostanie ograniczony do trybu jednego użytkownika lub programów, które nie są ograniczone przez pam_securetty (tj. Su, sudo, ssh, scp, sftp)
jeśli używasz devfs (przestarzały system plików do obsługi / dev), dodanie wpisów w formie vc / [0-9] * pozwoli na zalogowanie roota z podanego numeru wirtualnej konsoli
jeśli używasz udev (do dynamicznego zarządzania urządzeniami i zamiany na devfs), dodanie wpisów z formularza tty [0-9] * pozwoli na zalogowanie roota z podanego numeru konsoli wirtualnej
wyświetlenie konsoli w Securetty zwykle nie ma żadnego efektu, ponieważ / dev / console wskazuje na bieżącą konsolę i zwykle jest używana tylko jako nazwa pliku tty w trybie pojedynczego użytkownika, na co nie ma wpływu /etc/securetty
dodanie wpisów takich jak pts / [0-9] * pozwoli programom używającym pseudo-terminali (pty) i pam_securetty zalogować się do roota, zakładając, że przydzielony pty jest jednym z wymienionych; zwykle dobrym pomysłem jest nieuwzględnianie tych wpisów, ponieważ stanowi to zagrożenie bezpieczeństwa; pozwoliłby na przykład komuś zalogować się do roota przez telenet, który wysyła hasła w postaci zwykłego tekstu (zauważ, że pts / [0-9] * jest formatem udev używanym w RHEL 5.5; inaczej będzie, jeśli użyjesz devfs lub inna forma zarządzania urządzeniem)
W przypadku trybu pojedynczego użytkownika /etc/securettynie jest konsultowane, ponieważ zamiast logowania używana jest sulogina. Zobacz stronę podręcznika użytkownika sulogin, aby uzyskać więcej informacji. Możesz także zmienić program logowania używany /etc/inittabdla każdego poziomu pracy.
Zauważ, że nie powinieneś używać /etc/securettydo kontrolowania loginów root poprzez ssh. Aby to zrobić, zmień wartość PermitRootLogin w /etc/ssh/sshd_config. Domyślnie /etc/pam.d/sshdnie jest skonfigurowany do przeglądania pam_securetty (i dlatego /etc/securetty). Możesz dodać linię, aby to zrobić, ale ssh nie ustawia rzeczywistego tty, dopóki jakiś czas po etapie autoryzacji, więc nie działa zgodnie z oczekiwaniami. Na etapie uwierzytelniania i konta - przynajmniej dla openssh - tty (PAM_TTY) jest na stałe zakodowane na „ssh”.
Powyższa odpowiedź oparta jest na RHEL 5.5. Wiele z nich dotyczy bieżących dystrybucji innych systemów * nix, ale istnieją różnice, z których niektóre zauważyłem, ale nie wszystkie.
Sam na to odpowiedziałem, ponieważ inne odpowiedzi były niepełne i / lub niedokładne. Wiele innych forów, blogów itp. W Internecie zawiera również niedokładne i niekompletne informacje w tym temacie, dlatego przeprowadziłem szeroko zakrojone badania i testy, aby uzyskać prawidłowe szczegóły. Jeśli cokolwiek, co powiedziałem, jest złe, daj mi jednak znać.
+1 za poświęcenie czasu na tak głęboką reakcję. Nie jestem pewien, dlaczego nie ma tutaj akceptowanej odpowiedzi. Wygląda na to, że odpowiedziałeś na pytanie PO. Lubię komentarz na @Alexios, „vc / X i ttyX są synonimami [ous] ...”
harperville
Debian niedawno usunął / etc / securetty. Jest uważany za przestarzały i prawdopodobnie bardziej kłopotliwy niż jest wart. Był używany do telnet i rlogin, ale aby niektóre loginy kontenera działały, w niektórych systemach dodawane są pseudoterminy, takie jak „pts / 0”, co nie spełnia jego pierwotnego celu. Jeśli musisz ograniczyć logowanie roota do określonego zestawu urządzeń, istnieją bardziej niezawodne mechanizmy. Zobacz bugs.debian.org/731656
dlitz
4
vc/Xi ttyXsą synonimami: różne ścieżki do tych samych urządzeń. Redundancja polega na wyłapywaniu różnych przypadków, aby cię nie zablokować.
Tradycyjnie login(i być gettymoże nie pamiętam na pewno) sprawdzałby /etc/securettyi odmawiał rootlogowania na niepublicznych terminalach. W nowoczesnych systemach istnieją inne sposoby, aby to zrobić, a także inne środki bezpieczeństwa. Sprawdź zawartość /etc/login.defs(która obejmuje również securettyfunkcjonalność i jest zalecana przezsecuretty(5) podręcznika), a także /etc/pam.d/login, gdzie możesz kontrolować zachowanie tej funkcji.
Ponieważ securettyjest to sprawdzane tylko przez login, nie wpływa to na logowanie, które nie używa login(np. SSH z use_login=noX menedżerami wyświetlania itp.).
vc/X
ittyX
są synonimami: różne ścieżki do tych samych urządzeń. Redundancja polega na wyłapywaniu różnych przypadków, aby cię nie zablokować.Tradycyjnie
login
(i byćgetty
może nie pamiętam na pewno) sprawdzałby/etc/securetty
i odmawiałroot
logowania na niepublicznych terminalach. W nowoczesnych systemach istnieją inne sposoby, aby to zrobić, a także inne środki bezpieczeństwa. Sprawdź zawartość/etc/login.defs
(która obejmuje równieżsecuretty
funkcjonalność i jest zalecana przezsecuretty(5)
podręcznika), a także/etc/pam.d/login
, gdzie możesz kontrolować zachowanie tej funkcji.Ponieważ
securetty
jest to sprawdzane tylko przezlogin
, nie wpływa to na logowanie, które nie używalogin
(np. SSH zuse_login=no
X menedżerami wyświetlania itp.).źródło
busybox
oparte na systemach systemy mogą nadal być przydatne z tego prostego faktu, żelogin
nie są/etc/login.defs
obsługiwane.