當 X 被殺死時阻止訪問 TTY
假設我從
/dev/tty1
帶有xinit
或的虛擬控制台手動啟動 X 伺服器startx
,並將行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
當 X 伺服器現在正常返回時,
&&
控制台||
將被鎖定。這可能不是最佳解決方案。我已經閱讀了這個執行緒和這個wiki 文章,解釋了不同的解決方案。還有哪些其他方法可以防止從 X 會話對虛擬控制台的這種訪問?上述方法是否足夠安全?你如何在你的系統上防止這種情況發生?我不會使用顯示管理器。
Option "DontVTSwitch" "yes"
您可以通過添加到您的 Xorg 配置文件來阻止 Xorg 的控制台切換。為了防止
Ctrl
++Alt
,Backspace
您必須將DontZap
選項添加到您的Xorg 配置文件中。當然,這不會完全阻止對控制台的訪問。如果X
由於某種原因終止,例如驅動程序問題,攻擊者仍然可以訪問您的控制台。你也可以用 startx
exec startx
代替startx
which 來代替 bash,這意味著即使有人能夠中止X
他們也無法訪問你的控制台。您還可以使用顯示管理器,如lightdm
、kdm
、gdm
,或者xdm
您不需要現有的 shell 會話來啟動 ax 會話。