Skip to main content

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

当你在共享的系统上工作时,你可能不希望其他用户偷窥你的控制台中看你在做什么。如果是这样,我知道有个简单的技巧来锁定自己的会话,同时仍然允许其他用户在其他虚拟控制台上使用该系统。要感谢 VlockVirtual Console lock),这是一个命令行程序,用于锁定 Linux 控制台上的一个或多个会话。如有必要,你可以锁定整个控制台并完全禁用虚拟控制台切换功能。Vlock 对于有多个用户访问控制台的共享 Linux 系统特别有用。
安装 Vlock
在基于 Arch 的系统上,Vlock 软件包被替换为默认预安装的 kpd 包,因此你无需为安装烦恼。
在 Debian、Ubuntu、Linux Mint 上,运行以下命令来安装 Vlock:
  1. $ sudo apt-get install vlock
在 Fedora 上:
  1. $ sudo dnf install vlock
在 RHEL、CentOS 上:
  1. $ sudo yum install vlock
在 Linux 上锁定虚拟控制台会话
Vlock 的一般语法是:
  1. vlock [ -acnshv ] [ -t <timeout> ] [ plugins... ]
这里:
◈ a —— 锁定所有虚拟控制台会话,
◈ c —— 锁定当前虚拟控制台会话,
◈ n —— 在锁定所有会话之前切换到新的空控制台,
◈ s —— 禁用 SysRq 键机制,
◈ t —— 指定屏保插件的超时时间,
◈ h —— 显示帮助,
◈ v —— 显示版本。
让我举几个例子。
1、 锁定当前控制台会话
在没有任何参数的情况下运行 Vlock 时,它默认锁定当前控制台会话 (TYY)。要解锁会话,你需要输入当前用户的密码或 root 密码。
  1. $ vlock
你还可以使用 -c 标志来锁定当前的控制台会话。
  1. $ vlock -c
请注意,此命令仅锁定当前控制台。你可以按 ALT+F2 切换到其他控制台。有关在 TTY 之间切换的更多详细信息,请参阅以下指南。
此外,如果系统有多个用户,则其他用户仍可以访问其各自的 TTY。
2、 锁定所有控制台会话
要同时锁定所有 TTY 并禁用虚拟控制台切换功能,请运行:
  1. $ vlock -a
同样,要解锁控制台会话,只需按下回车键并输入当前用户的密码或 root 用户密码。
请记住,root 用户可以随时解锁任何 vlock 会话,除非在编译时禁用。
3、 在锁定所有控制台之前切换到新的虚拟控制台
在锁定所有控制台之前,还可以使 Vlock 从 X 会话切换到新的空虚拟控制台。为此,请使用 -n标志。
  1. $ vlock -n
4、 禁用 SysRq 机制
你也许知道,魔术 SysRq 键机制允许用户在系统死机时执行某些操作。因此,用户可以使用 SysRq 解锁控制台。为了防止这种情况,请传递 -s 选项以禁用 SysRq 机制。请记住,这个选项只适用于有 -a 选项的时候。
  1. $ vlock -sa
有关更多选项及其用法,请参阅帮助或手册页。
  1. $ vlock -h
  2. $ man vlock
Vlock 可防止未经授权的用户获得控制台访问权限。如果你在为 Linux 寻找一个简单的控制台锁定机制,那么 Vlock 值得一试!
就是这些了。希望这篇文章有用。还有更多好东西。敬请关注!
干杯!

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...