Standardmäßig habe ich unter RHEL 5.5
[deuberger@saleen trunk]$ sudo cat /etc/securetty
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
Was ist der Unterschied zwischen den einzelnen Eintragstypen ( console
, vc/*
, und tty*
)? Was ist insbesondere das Endergebnis des Hinzufügens und Entfernens der einzelnen Eintragstypen?
Nach meinem Verständnis beeinflussen sie, wie und wann Sie sich anmelden können, aber gibt es noch weitere Auswirkungen? Und wann können Sie sich anmelden und wann nicht, je nachdem, welche Einträge vorhanden sind?
BEARBEITEN 1
Was ich weiß, ist, dass dies tty1-6
damit zusammenhängt, ob Sie sich von den ersten 6 Konsolen aus anmelden können, die Sie über Ctrl- Alt- F1bis Ctrl- Alt- erreichen F6. Ich dachte immer, das wären virtuelle Konsolen, daher bin ich etwas verwirrt. Und was bedeutet console
dies?
Danke.
BEARBEITEN 2
Welchen Effekt (sofern überhaupt) gibt es im Einzelbenutzermodus?
Antwort1
/etc/securetty
wird vom pam_securetty
Modul konsultiert, um zu entscheiden, von welchen virtuellen Terminals ( tty*
) root
aus eine Anmeldung zulässig ist.
In der Vergangenheit /etc/securetty
wurde von Programmen wie direkt konsultiert login
, aber jetzt übernimmt PAM das. Änderungen an /etc/securetty
wirken sich daher auf alles aus, was PAM mit einer Konfigurationsdatei verwendet, die verwendet pam_securetty.so
. Daher login
ist standardmäßig nur das Programm betroffen.
/etc/pam.d/login
wird für lokale Anmeldungen und /etc/pam.d/remote
für Remote-Anmeldungen (wie Telnet) verwendet.
Die wichtigsten Eintragstypen und ihre Auswirkungen sind wie folgt:
- Wenn
/etc/securetty
nicht vorhanden,root
ist die Anmeldung von jedem beliebigentty
- Wenn
/etc/securetty
vorhanden und leer ist,root
wird der Zugriff auf den Einzelbenutzermodus oder auf Programme beschränkt, die nicht durchpam_securetty
(d. hsu
. ,sudo
,ssh
,scp
,sftp
) beschränkt sind. devfs
Wenn Sie (ein veraltetes Dateisystem zur Handhabung ) verwenden/dev
, ermöglicht das Hinzufügen von Einträgen des Formularsvc/[0-9]*
die Root-Anmeldung von der angegebenen virtuellen Konsolennummer.udev
Wenn Sie (für die dynamische Geräteverwaltung und als Ersatz für ) verwendendevfs
, ermöglicht das Hinzufügen von Einträgen des Formularstty[0-9]*
die Root-Anmeldung von der angegebenen virtuellen Konsolennummer.- Das Auflisten
console
in/etc/securetty
hat normalerweise keinen Effekt, da es auf die aktuelle Konsole verweist und normalerweise nur als Dateiname im Einzelbenutzermodus/dev/console
verwendet wird , der nicht betroffen ist vontty
/etc/securetty
- Das Hinzufügen von Einträgen wie
pts/[0-9]*
erlaubt es Programmen, die Pseudoterminals (pty
) verwenden,pam_securetty
sich anzumelden,root
vorausgesetzt, dass der zugewiesene Terminalpty
einer der aufgelisteten ist; normalerweise ist das eine gute Ideenichtdiese Einträge einzuschließen, da dies ein Sicherheitsrisiko darstellt. Dadurch könnte sich beispielsweise jemand über Telnet als Root anmelden, wobei Passwörter im Klartext gesendet werden (beachten Sie, dass diespts/[0-9]*
das in RHEL 5.5 verwendete Format istudev
; es ist anders, wenn Siedevfs
oder eine andere Form der Geräteverwaltung verwenden).
Im Einzelbenutzermodus /etc/securetty
wird nicht abgefragt, da sulogin
anstelle von verwendet wird login
( sulogin
weitere Informationen finden Sie auf der Manpage). Sie können auch das für jeden Runlevel verwendete Anmeldeprogramm ändern /etc/inittab
.
Beachten Sie, dass Sie nicht verwenden sollten, um Anmeldungen über /etc/securetty
zu steuern . Ändern Sie dazu den Wert von in . Standardmäßig ist nicht für „consult“ (und daher ) konfiguriert. Sie könnten eine Zeile hinzufügen, um dies zu tun, aber das tatsächliche wird erst einige Zeit nach der Phase festgelegt , sodass es nicht wie erwartet funktioniert. Während der Phasen und – zumindest für – ist ( ) fest auf codiert .root
ssh
PermitRootLogin
/etc/ssh/sshd_config
/etc/pam.d/sshd
pam_securetty
/etc/securetty
ssh
tty
auth
auth
account
openssh
tty
PAM_TTY
ssh
Die obige Antwort basiert auf RHEL 5.5. Vieles davon trifft auf aktuelle Distributionen anderer *nix-Systeme zu, es gibt jedoch Unterschiede, von denen ich einige, aber nicht alle, festgestellt habe.
Ich habe dies selbst beantwortet, da die anderen Antworten unvollständig und/oder ungenau waren. Viele andere Foren, Blogs usw. im Internet enthalten ebenfalls ungenaue und unvollständige Informationen zu diesem Thema, daher habe ich umfangreiche Recherchen und Tests durchgeführt, um die richtigen Details zu erhalten. Wenn etwas, was ich gesagt habe, falsch ist, lassen Sie es mich bitte wissen.
Quellen:
- http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/ch-sec-network.html#s1-wstation-privileges
- http://www.mathematik.uni-marburg.de/local-doc/centos5/pam-0.99.6.2/html/sag-pam_securetty.html
- http://linux.die.net/man/1/login
- http://www.tldp.org/HOWTO/html_single/Text-Terminal-HOWTO/
- http://www.kernel.org/doc/Documentation/devices.txt
- http://en.wikipedia.org/wiki/Virtuelle_Konsole
- http://en.wikipedia.org/wiki/Linux_console
- http://www.kernel.org/doc/man-pages/online/pages/man4/console.4.html
- http://www.unix.com/security/8527-restricting-root-login.html
- http://www.redhat.com/mirrors/LDP/HOWTO/Serial-HOWTO-11.html#ss11.3
- http://www.mathematik.uni-marburg.de/local-doc/centos5/udev-095/udev_vs_devfs
Antwort2
vc/X
und ttyX
sind Synonyme: verschiedene Pfade zu denselben Geräten. Der Sinn der Redundanz besteht darin, verschiedene Fälle abzufangen, damit Sie nicht ausgesperrt werden.
Traditionell login
(und möglicherweise auch getty
, ich kann mich nicht mehr genau erinnern) würde ich Anmeldungen auf nicht aufgelisteten Terminals prüfen /etc/securetty
und verweigern . Auf modernen Systemen gibt es andere Möglichkeiten, dies zu tun, und auch andere Sicherheitsmaßnahmen. Sehen Sie sich den Inhalt von an (der auch die Funktionalität von behandelt und von der Manpage empfohlen wird ) und auch , wo Sie das Verhalten dieser Funktion steuern können.root
/etc/login.defs
securetty
securetty(5)
/etc/pam.d/login
Da securetty
nur von geprüft wird login
, sind Anmeldemöglichkeiten, die nicht verwenden login
(z. B. SSH mit use_login=no
, X-Display-Manager usw.), nicht betroffen.