当 X 被杀死时阻止访问 TTY

6 security xorg screen-lock console

假设我从虚拟控制台手动启动 X 服务器,/dev/tty1使用xinitstartx,行id:3:initdefault:设置在/etc/inittab. X 服务器运行并放在另一个虚拟控制台上,通常是/dev/tty7. 一段时间后,我决定锁定屏幕xscreensaver --lock并离开我的电脑。要解锁屏幕,必须知道我的用户密码。如果现在有人决定终止正在运行的 X 服务器,他或她将返回到运行的 shell/dev/tty1并且几乎可以访问我的计算机。典型地,X服务器可以与被杀死Ctrl+Alt+Backspace或切换到初始控制台和SIGTERM与运行的进程^C

这是微不足道的 - 这意味着必须有微不足道的方法来防止它发生。我正在使用vlock锁定我的虚拟控制台/dev/tty1来防止这种情况:

$ xinit && vlock || vlock
Run Code Online (Sandbox Code Playgroud)

当 X 服务器现在正常&&或不正常返回时,||控制台将被锁定。这可能不是最佳解决方案。我已阅读线程和wiki 文章,其中解释了不同的解决方案。

还有什么其他方法可以防止这种从 X 会话对虚拟控制台的访问?以上方法是否足够安全?你如何在你的系统上防止这种情况?我不会使用显示管理器。

Ulr*_*gel 7

你可以通过添加Option "DontVTSwitch" "yes"到你的 Xorg 配置文件来阻止 Xorg 的控制台切换。

为了防止Ctrl+ Alt+Backspace您必须将添加DontZap选项,您的Xorg的配置文件。当然,这不会完全阻止访问控制台。如果X由于某种原因终止,例如驱动程序问题,攻击者仍然可以访问您的控制台。

您还可以使用exec startx代替startxwhich 将 bash 替换为 startx,这意味着即使有人能够中止X他们也无法访问您的控制台。您还可以使用像lightdmkdm、这样的显示管理器gdm,或者xdm这样您就不需要现有的 shell 会话来启动 ax 会话。