网站搜索

如何在 Linux 上锁定虚拟控制台会话


当您在共享系统上工作时,您可能不希望其他用户偷偷进入您的控制台以了解您实际上在做什么。如果是这样,我知道一个简单的技巧来锁定您自己的会话,同时仍然允许其他用户在其他虚拟控制台上使用该系统。感谢Vlock,它代表V虚拟控制台lock,这是一种用于锁定 Linux 控制台上的一个或多个会话的命令行程序。如有必要,您可以锁定整个控制台并完全禁用虚拟控制台切换功能。 Vlock 对于具有多个用户可以访问控制台的共享 Linux 系统特别有用。

安装Vlock

在基于 Arch 的系统上,Vlock 软件包被默认预安装的 kpd 软件包取代,因此您无需费心安装。

在 Debian、Ubuntu、Linux Mint 上,运行以下命令安装 Vlock:

sudo apt-get install vlock

在费多拉上:

sudo dnf install vlock

在 RHEL、CentOS 上:

sudo yum install vlock

在 Linux 上锁定虚拟控制台会话

Vlock 的一般语法是:

vlock [ -acnshv ] [ -t <timeout> ] [ plugins... ]

在哪里,

  • a - 锁定所有虚拟控制台会话,
  • c - 锁定当前虚拟控制台会话,
  • n - 在锁定所有会话之前切换到新的空控制台,
  • s - 禁用 SysRq 密钥机制,
  • t - 指定屏幕保护插件的超时时间,
  • h - 显示帮助部分,
  • v - 显示版本。

让我向您展示一些例子。

1. 锁定当前控制台会话

当不带任何参数运行 Vlock 时,它默认锁定当前控制台会话 (TYY)。要解锁会话,您需要输入当前用户的密码或 root 密码。

vlock

锁定当前虚拟控制台会话

您还可以使用 -c 标志来锁定当前控制台会话。

vlock -c

请注意,此命令只会锁定当前控制台。您可以通过按 ALT+F2 切换到其他控制台。有关 TTY 之间切换的更多详细信息,请参阅以下指南。

  • 在 Linux 中不使用功能键在 TTY 之间切换

此外,如果系统有多个用户,其他用户仍然可以访问各自的 TTY。

2. 锁定所有控制台会话

要同时锁定所有 TTY 并禁用虚拟控制台切换功能,请运行:

vlock -a

锁定所有虚拟控制台

同样,要解锁控制台会话,只需按 ENTER 键并输入当前用户的密码或 root 用户密码。

请记住,root 用户始终可以随时解锁任何 vlock 会话,除非在编译时禁用。

3. 在锁定所有控制台之前切换到新的虚拟控制台

还可以使 Vlock 在锁定所有控制台之前从 X 会话切换到新的空虚拟控制台。为此,请使用 -n 标志。

vlock -n

4.禁用SysRq机制

您可能知道,Magic SysRq key机制允许用户在系统死机时执行一些操作。因此用户可以使用 SysRq 解锁控制台。为了防止这种情况,请传递-s选项来禁用SysRq机制。请记住,这仅在给出 -a 选项时才有效。

vlock -sa

有关更多选项及其用法,请参阅帮助部分或手册页。

vlock -h
man vlock

Vlock 可防止未经授权的用户获得控制台访问权限。如果您正在为您的 Linux 机器寻找一种简单的控制台锁定机制,Vlock 值得一试!

建议阅读:

  • 如何更改 Linux 控制台字体类型和大小

相关文章