X が終了すると、TTY へのアクセスをブロックします。

X が終了すると、TTY へのアクセスをブロックします。

/dev/tty1xinitまたはを使用して仮想コンソールでXサーバーを手動で起動しますstartx。 Xサーバーが起動し始め、通常は他の仮想コンソールに配置されました。しばらくして、私は画面をロックし、コンピュータから出ることにしました。画面のロックを解除するには、ユーザーのパスワードを知る必要があります。誰かが現在実行中のXサーバーをシャットダウンすることにした場合、その人は実行中のシェルに戻って自分のコンピュータに仮想アクセスできます。通常、これはXサーバーをシャットダウンしたり、初期コンソールと実行中のプロセスに切り替えるために使用されます。id:3:initdefault:/etc/inittab/dev/tty7xscreensaver --lock/dev/tty1Ctrl+Alt+BackspaceSIGTERM^C

これは些細なことです。これは、これが発生するのを防ぐためのマイナーな方法が必要であることを意味します。私はそれを使用していますvlock/dev/tty1これを防ぐには、仮想コンソールをロックしてください。

$ xinit && vlock || vlock

これで X サーバーが返されると、正常かどうか&&にかかわらず||コンソールがロックされます。これが最善の解決策ではないかもしれません。私は読んだこれスレッドとこれさまざまなソリューションを説明するWiki記事です。

Xセッションで仮想コンソールへのアクセスを防ぐ他の方法はありますか?上記の方法は十分に安全ですか?システムでこれが起こらないようにするにはどうすればよいですか?ディスプレイマネージャの使い方がわかりません。

答え1

次のコマンドを追加すると、Xorgのコンソール切り替えを防ぐことができます。Option "DontVTSwitch" "yes"Xorg設定ファイルに。

Ctrl++を防ぐには、以下を追加する必要がありますAltBackspaceDontZapXorg 構成ファイルのオプションです。もちろん、これはコンソールへのアクセスを完全にブロックするわけではありません。Xドライバの問題など、何らかの理由で終了しても、攻撃者はまだコンソールにアクセスできます。

exec startxwhichを使用してstartxbashをstartxに置き換えることもできます。これは、誰かがハングアップしてもXコンソールにアクセスできないことを意味します。 axセッションを開始するために既存のシェルセッションを必要としないように、lightdmなどkdmのディスプレイマネージャを使用することもできます。gdmxdm

答え2

私の項目は次のとおりです.profile

# startx if on tty1 and tmux on tty2
if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/tty1 ]]; then
    exec xinit -- :0 -novtswitch &>/dev/null &
    logout

  elif [[ $(tty) = /dev/tty2 ]]; then
    tmux -f $HOME/.tmux/conf new -s secured
fi

ログインを選択すると、XTTY1を使用します。 TTY7から起動したことを確認した後、logoutTTY1からログアウトします。X私は使う自動ロックそしてロックする私の画面ロックツールで。

死んだ場合はX空のTTY7にリダイレクトされ、再度ログインするには6つのアクティブなgettyのいずれかに切り替える必要があります。

関連情報