
Wenn ich zu einem TTY wechsle, sagen wir TTY3, werde ich nach einem Benutzernamen und dann nach dem zugehörigen Passwort gefragt.
Wie kann ich erreichen, dass (nur auf tty3) nur nach einem Passwort für einen vordefinierten Benutzernamen (sagen wir myuser
) gefragt wird und z. B. der Benutzername genannt wird password for myuser
? So muss ich auf diesem TTY nicht den Benutzernamen, sondern nur das Passwort eingeben.
Ich verwende Ubuntu 18.04, das systemd verwendet.
Antwort1
Sie müssen hinzufügen, welche Distribution Sie verwenden, da unterschiedliche Distributionen wahrscheinlich getty
auf unterschiedliche Weise ausgeführt werden.
Für sysvinit
ist es in programmiert /etc/inittab
, wo Sie eine Zeile wie die folgende finden können:
3:23:respawn:/sbin/getty 38400 tty3
Sie würden diese Zeile etwa wie folgt ändern:
3:23:respawn:/sbin/getty -n -o ferdinand 38400 tty3
Um es getty
zum Laufen zu bringen /bin/login -- ferdinand
, d.h. mit dem Benutzernamen „ferdinand“ vorzubereiten.
Wie unter dokumentiert , weist man getty
die Option an, nicht nach dem Benutzernamen zu fragen, und die Option weist an, „ferdinand“ zur Unterbefehlszeile für die Anmeldung hinzuzufügen.-n
-o ferdinand
Ich würde meinen, dass die Optionen in anderen Distributionen gleich funktionieren, aber die Art und Weise, wie getty
für gestartet wird tty3
, kann durchaus anders sein und insbesondere nicht die Verwendung von beinhalten /etc/inittab
.
Antwort2
Das systemd-Äquivalent zur Antwort von Ralph Rönnquist besteht in der Eingabe
sudo EDITOR=/usr/bin/vi systemctl edit getty@tty3
(oder Ihr bevorzugter Editor). Dadurch erhalten Sie eine temporäre Datei, in die Sie die Zeilen eingeben:
[Service]
ExecStart=
ExecStart=-/sbin/agetty -n -o ferdinand %I
und beenden Sie den Editor. Dadurch wird die Datei erstellt . Beachten Sie, dass Sie die erste Zeile benötigen, um die Liste der auszuführenden Befehle wieder zu leeren. Anschließend können Sie die Unit wie gewohnt aktivieren und starten:/etc/systemd/system/[email protected]/override.conf
ExecStart=
sudo systemctl enable getty@tty3
sudo systemctl start getty@tty3
Die erste stellt eine Verbindung /etc/systemd/system/getty.target.wants/
für die Zukunft her. Siehearchlinux.