<p>掌握linux用户会话管理需先明确当前登录状态,再执行相应操作。1. 使用who、w、users和last命令可查看在线用户及历史登录信息,便于监控系统访问情况;2. 通过su - username或sudo -i -u username切换用户身份,支持权限管理和任务执行;3. 发现异常会话时,可用pkill -9 -t 终端名或killall -u username终止指定会话或用户进程;4. 利用passwd -l和-u命令可快速锁定或解锁用户账户,增强安全控制。熟练运用这些命令能有效提升系统安全管理能力,但需注意操作影响,避免误断服务。</p>
在Linux命令行中管理用户会话,主要涉及查看当前登录用户、控制会话行为、终止异常会话以及切换用户身份等操作。掌握这些命令可以帮助系统管理员有效监控和维护系统的安全与稳定。
查看当前用户会话
要了解谁正在登录系统以及他们的活动状态,可以使用以下常用命令:
- who:显示当前登录系统的用户列表,包括用户名、终端、登录时间和来源IP。
- w:比 who 更详细,除了登录信息外,还会显示每个用户正在执行的命令。
- users:仅列出当前登录的用户名,适合脚本中快速获取在线用户。
- last:查看用户的登录历史,包括重启记录和登出时间,有助于排查异常登录。
切换和模拟用户身份
在不退出当前会话的情况下切换用户,是日常管理中的常见需求:
- su - username:切换到指定用户,加上短横线表示加载目标用户的环境变量和配置文件。
- sudo -i -u username:以另一个用户身份启动一个登录shell,适合有 sudo 权限的管理员使用。
- 执行单条命令时可直接用 sudo -u username command,无需完整切换。
终止用户会话
当发现可疑或长时间无响应的会话时,可能需要手动终止:
- 使用 who 或 w 找到目标用户的终端名(如 pts/0)。
- 通过 pkill -9 -t pts/0 终止该终端上的所有进程,从而结束会话。
- 也可以用 killall -u username 结束某用户的所有进程,强制其下线。
锁定与解锁用户账户
临时阻止用户登录,而不删除账户:
- passwd -l username:锁定用户密码,使其无法通过密码认证登录。
- passwd -u username:解锁用户账户,恢复登录能力。
- 注意:锁定后用户仍可能通过 SSH 密钥等方式登录,需结合其他策略限制。
基本上就这些。熟练使用这些命令,能帮助你更好地掌控系统访问情况,及时响应安全风险。关键是理解每个操作的影响范围,避免误操作导致服务中断。