/etc/securetty
wird vom Modul pam_securetty abgefragt, um zu entscheiden, von welchem virtuellen Terminal (ttyS) -Root sich anmelden darf. Wurde in der Vergangenheit /etc/securetty
von Programmen wie Login direkt abgefragt, jetzt kümmert sich PAM darum. Änderungen an /etc/securetty
wirken sich also auf alles aus, was PAM mit einer Konfigurationsdatei verwendet, die pam_securetty.so verwendet. Daher ist standardmäßig nur das Anmeldeprogramm betroffen. /etc/pam.d/login
wird für lokale Anmeldungen und /etc/pam.d/remote
für Remoteanmeldungen (wie Telnet) verwendet.
Die primären Eintragstypen und ihre Auswirkungen sind wie folgt:
- Falls
/etc/securetty
nicht vorhanden, kann sich root von jedem tty aus anmelden
- Falls
/etc/securetty
vorhanden und leer, ist der Root-Zugriff auf den Einzelbenutzermodus oder auf Programme beschränkt, die nicht durch pam_securetty eingeschränkt sind (z. B. su, sudo, ssh, scp, sftp).
- Wenn Sie devfs (ein veraltetes Dateisystem für die Verarbeitung von / dev) verwenden, können Sie durch Hinzufügen von Einträgen der Form vc / [0-9] * von der angegebenen virtuellen Konsolennummer aus root anmelden
- Wenn Sie udev verwenden (für die dynamische Geräteverwaltung und den Ersatz für devfs), können Sie durch Hinzufügen von Einträgen der Form tty [0-9] * Root-Login von der angegebenen virtuellen Konsolennummer aus zulassen
- Das Auflisten von console in securetty hat normalerweise keine Auswirkung, da / dev / console auf die aktuelle Konsole verweist und normalerweise nur im Einzelbenutzermodus als tty-Dateiname verwendet wird, was von nicht betroffen ist
/etc/securetty
- Das Hinzufügen von Einträgen wie pts / [0-9] * ermöglicht es Programmen, die Pseudo-Terminals (pty) und pam_securetty verwenden, sich bei root anzumelden, vorausgesetzt, die zugewiesene Pty ist eine der aufgelisteten. Es ist normalerweise eine gute Idee, diese Einträge nicht einzuschließen, da dies ein Sicherheitsrisiko darstellt. es würde zum Beispiel jemandem erlauben, sich über Telenet bei root anzumelden, das Passwörter im Klartext sendet (beachte, dass pts / [0-9] * das Format für udev ist, das in RHEL 5.5 verwendet wird; es wird anders sein, wenn devfs verwendet wird oder eine andere Form der Geräteverwaltung)
Für Single - User - Modus, /etc/securetty
konsultiert wird nicht , weil die sulogin statt Login verwendet wird. Weitere Informationen finden Sie auf der Sulogin-Manpage. Sie können auch das Anmeldeprogramm ändern, das /etc/inittab
für jedes Runlevel verwendet wird.
Beachten Sie, dass Sie nicht verwenden sollten /etc/securetty
, um Root-Anmeldungen über ssh zu steuern. Ändern Sie dazu den Wert von PermitRootLogin in /etc/ssh/sshd_config
. Standardmäßig /etc/pam.d/sshd
ist pam_securetty nicht für die Abfrage konfiguriert (und daher /etc/securetty
). Sie können eine Zeile hinzufügen, um dies zu tun, aber ssh setzt die tatsächliche tty erst einige Zeit nach der Auth-Phase fest, sodass dies nicht wie erwartet funktioniert. Während der Authentifizierungs- und Kontenphase wird - zumindest für openssh - das tty (PAM_TTY) fest auf "ssh" codiert.
Die obige Antwort basiert auf RHEL 5.5. Vieles davon wird sich auf aktuelle Distributionen anderer * nix-Systeme beziehen, aber es gibt Unterschiede, von denen ich einige festgestellt habe, aber nicht alle.
Ich habe das selbst beantwortet, weil die anderen Antworten unvollständig und / oder ungenau waren. Viele andere Online-Foren, -Blogs usw. enthalten ungenaue und unvollständige Informationen in diesem Thema. Daher habe ich umfangreiche Nachforschungen angestellt und Tests durchgeführt, um die korrekten Details zu ermitteln. Wenn etwas, was ich gesagt habe, falsch ist, lassen Sie es mich bitte wissen.
Quellen: