
Если я переключусь на tty, скажем, tty3, он попросит меня ввести имя пользователя, а затем соответствующий пароль.
Как мне добиться того, чтобы (только на tty3) он запрашивал у меня только пароль для предопределенного имени пользователя (скажем myuser
) и упоминал имя пользователя, например password for myuser
? Так что мне не нужно вводить имя пользователя, а только пароль на этом tty.
Я использую Ubuntu 18.04, который использует systemd.
решение1
Вам нужно будет указать, какой дистрибутив вы используете, поскольку разные дистрибутивы, вероятно, работают getty
по-разному.
Для sysvinit
, это запрограммировано в /etc/inittab
, где вы можете найти строку следующего вида:
3:23:respawn:/sbin/getty 38400 tty3
Эту строку можно изменить примерно так:
3:23:respawn:/sbin/getty -n -o ferdinand 38400 tty3
Чтобы getty
запустить его /bin/login -- ferdinand
, т.е. заполнить его именем пользователя "ferdinand".
Как описано в документации man getty
, эта -n
опция указывает, что не нужно запрашивать имя пользователя, а также -o ferdinand
добавляет «ferdinand» в строку подкоманды входа в систему.
Я думаю, что в других дистрибутивах эти параметры работают так же, но способ запуска getty
может tty3
быть другим и, в частности, не использовать /etc/inittab
.
решение2
Системный эквивалент ответа Ральфа Рённквиста — ввести
sudo EDITOR=/usr/bin/vi systemctl edit getty@tty3
(или ваш любимый редактор). Это даст вам временный файл, в который вы введете строки:
[Service]
ExecStart=
ExecStart=-/sbin/agetty -n -o ferdinand %I
и выйдите из редактора. Он создаст файл . Обратите внимание, вам нужна первая строка, чтобы сбросить список команд для выполнения обратно на пустой. Затем вы можете включить и запустить Unit как обычно:/etc/systemd/system/[email protected]/override.conf
ExecStart=
sudo systemctl enable getty@tty3
sudo systemctl start getty@tty3
Первый создает ссылку /etc/systemd/system/getty.target.wants/
на будущее. Смотретьархлинукс.