Linux如何查看系统用户?

查看所有系统用户

/etc/passwd 文件解析

这是存储用户信息的核心文件,需用 rootsudo 权限查看:

cat /etc/passwd

输出示例
root:x:0:0:root:/root:/bin/bash
每行包含 7个字段(以冒号分隔):

  • 用户名(如 root
  • 密码占位符x 表示密码在 /etc/shadow
  • 用户ID(UID):系统用户通常 UID < 1000,普通用户 UID ≥ 1000
  • 组ID(GID)
  • 用户描述(如全名)
  • 家目录路径
  • 默认Shell(如 /bin/bash/sbin/nologin 表示禁止登录)

getent 命令

兼容性更强(支持LDAP等数据库):

getent passwd

输出格式与 /etc/passwd 相同。

列出可登录用户

过滤有效Shell的用户:

grep -v "/nologin\|/false" /etc/passwd | cut -d: -f1

或使用 awk

awk -F: '$7 !~ /\/nologin|\/false/ {print $1}' /etc/passwd

查看当前登录用户

who 命令

显示已登录用户及登录源:

who

输出:用户名 终端 登录时间 IP地址

w 命令

更详细(含正在运行的命令):

w

输出包括:用户、终端、登录时间、空闲时间、当前进程。

users 命令

仅显示用户名:

users

查看用户登录历史

last 命令

审计用户登录记录:

last

显示:用户名、终端、IP、登录/登出时间。
关键参数

  • last -5:显示最近5条记录
  • last username:查看特定用户记录

查看特定用户信息

id 命令

检查用户UID、GID及所属组:

id username  # 如 id root

输出示例:uid=0(root) gid=0(root) groups=0(root)

finger 命令(需安装)

显示用户详细信息:

sudo apt install finger  # Debian/Ubuntu
finger username

输出:登录名、真实姓名、Shell、家目录等。


高级工具

lslogins 命令

专业用户管理工具(需安装 util-linux):

lslogins -u  # 查看所有用户

输出包含:UID、GID、最后登录时间、是否锁定等。

compgen 命令(仅限Bash)

生成用户列表:

compgen -u

注意事项

  1. 权限要求
    • 查看 /etc/passwd 无需特权,但修改需 root 权限。
    • 敏感文件(如 /etc/shadow)仅 root 可读。
  2. 安全建议
    • 禁止删除系统用户(UID<1000),可能导致服务崩溃。
    • 定期审计用户:检查异常UID为0的用户(非root)。
  3. 用户状态判断
    • 密码字段为 或 表示账户被锁定。
    • nologin Shell 用户无法登录系统(如服务账户)。

场景 推荐命令
查看所有用户 cat /etc/passwd
检查当前登录用户 wwho
审计登录历史 last
获取用户详细信息 idfinger
专业级用户管理 lslogins

重要提示:直接编辑用户文件(如 /etc/passwd)可能导致系统不稳定,建议使用 useraddusermod 等命令管理用户。


引用说明: 基于 Linux man-pages 官方文档(如 man 5 passwd)。

  • 命令兼容性参考 GNU Coreutils 及 util-linux 工具集。
  • 安全规范遵循 Linux Foundation 最佳实践指南。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4452.html

(0)
酷番叔酷番叔
上一篇 2025年6月14日 08:18
下一篇 2025年6月14日 08:49

相关推荐

  • Linux环境下编译运行C语言程序的操作流程是怎样的?

    在Linux环境下编译和运行C程序是开发者必备的基础技能,整个过程涉及源代码编写、编译、链接和执行四个核心环节,本文将详细讲解每个步骤的操作方法、常用工具及注意事项,帮助读者掌握完整的C程序开发流程,开发环境准备在开始编译运行C程序前,需确保系统已安装必要的开发工具,Linux发行版通常默认安装GCC(GNU……

    2025年9月23日
    14600
  • Linux系统安装中文语言包及输入法显示设置的完整步骤是什么?

    在Linux系统中安装中文支持涉及语言环境配置、输入法安装、字体设置等多个环节,不同发行版的具体操作略有差异,但核心逻辑一致,以下以主流的Ubuntu/Debian和CentOS/RHEL为例,详细说明完整流程,系统语言环境配置Linux系统的语言环境由locale控制,需确保系统支持中文语言包(如zh_CN……

    2025年9月24日
    14900
  • Linux系统下火狐浏览器如何退出全屏?详细操作步骤与方法指南

    在Linux操作系统中,火狐浏览器(Firefox)作为常用的网页浏览工具,支持全屏模式以提供更沉浸式的浏览体验,但有时用户需要退出全屏进行其他操作,退出全屏的方法多样,可通过快捷键、菜单按钮、触控板手势或命令行操作实现,不同场景下适用方法略有差异,本文将详细介绍Linux下火狐退出全屏的各类操作方式,并针对常……

    2025年10月8日
    16100
  • Linux系统如何正确注销?

    在Linux操作系统中,“注销”指的是结束当前用户的登录会话,返回到登录界面(如GDM、SDDM、LightDM等显示管理器的登录界面),以便其他用户登录或当前用户重新登录,与关机、重启不同,注销不会关闭系统,仅终止当前用户的进程和会话环境,确保用户数据安全退出,以下是Linux系统中注销的详细方法,涵盖图形界……

    2025年9月29日
    12100
  • linux如何删除ip

    Linux中,删除IP地址可通过`ip addr del /

    2025年8月15日
    14900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信