如何在Linux(RHEL/CentOS 7)中禁用tty或者启用tty控制台
如何为超过6个控制台启用tty。
如何禁用Linux中的所有tty终端。
systemd禁用tty。
systemd在Linux中使用getty服务启用tty。
我写了另一篇文章来理解/dev/tty
和/dev/pts
之间的区别。
在本文中,我将分享禁用tty并为Linux中的特定终端控制台启用tty的步骤。
TTY基本概述
tty控制台由Red Hat Enterprise Linux 7 OS中的systemd管理。
tty控制台是在访问时即时创建的。
允许的控制台数量可以在
/etc/systemd/logind.conf
文件中进行配置。将此文件中的" NAutoVTs ="值设置为所需的数字,以使systemd能够生成许多tty控制台。
默认情况下,Linux系统上有6个可用的终端,可以使用Ctrl + Alt + F [1-6]进行访问。
禁用TTY终端控制台
要禁用tty终端,请在/etc/systemd/logind.conf
中进行以下更改
NAutoVTs=0 ReserveVT=N
说明:
ReserveVT
取一个正整数。
标识一个虚拟终端,该虚拟终端应无条件地保留用于" autovt @ .service"激活。
使用此选项选择的VT将被无条件标记为忙,因此没有其他子系统会分配它。
此功能对于确保不管其他子系统分配了多少VT,始终保持一个登录权限都是有用的。
现在,由于我们的目标是禁用所有终端,因此我们将对" ReserveVT"的值保留为N。
通过此步骤,我们已禁用了所有可用的端子。
现在,我们可以手动启用所需的终端。
重要的提示:
tty1无法禁用,因为它由xorg
进程使用,并且已被硬编码。
启用TTY终端控制台
为了演示本文,我将在Linux主机上启用对终端2和终端3的控制台访问。
在/etc/systemd/system/getty.target.wants中创建要启用的tty的符号链接。
node1:~ # ln -sf /usr/lib/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
node1:~ # ln -sf /usr/lib/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
使用systemctl启用tty:
node1:~ # systemctl enable [email protected]
node1:~ # systemctl enable [email protected]
验证更改
node1:~ # ls -l /etc/systemd/system/getty.target.wants/[email protected] lrwxrwxrwx 1 root root 38 Jun 1 15:23 /etc/systemd/system/getty.target.wants/[email protected] -> /usr/lib/systemd/system/[email protected]
node1:~ # ls -l /etc/systemd/system/getty.target.wants/[email protected] lrwxrwxrwx 1 root root 38 Jun 1 11:49 /etc/systemd/system/getty.target.wants/[email protected] -> /usr/lib/systemd/system/[email protected]
接下来重启节点以激活更改
node1:~ # reboot
一旦节点在重启后成功UP后,尝试使用Ctrl + Alt + F [4-6]连接到其他终端,我们会发现尽管启用了终端1-3,但所有这些终端都将被禁用,因为我们的配置。