在 Linux 中查找用户帐户信息和登录详细信息的 12 种方法

嗯... 在 Linux 下查用户信息啊... 这事儿吧... 方法挺多...
先说最基础的... /etc/passwd 这个文件... 存用户名啊... UID GID 啊这些... 所有用户都能看... 你就用 cat /etc/passwd 这样... 简单...
但密码啊... 那不在 /etc/passwd 里... 在 /etc/shadow... 这个文件... 密码是加密的... 安全性高... 不过... 这个文件... 默认只有 root 才能看... 你得用 sudo cat /etc/shadow 才行... 要不就看不到...
还有个 getent 命令... 这个挺有意思... 它能从系统数据库里查... 比如说 LDAP... 所以... 如果你的系统连着网络... 或者用了什么目录服务... 用 getent passwd username 就行... 能查到本地用户... 也能查网络用户...
想看当前用户自己信息... 或者别人信息... id 命令... 比如 id username... 或者不带参数就 id... 能看到 UID GID 属于哪个组... 麻烦不大...
finger 命令... 这个能看更详细点... 比如用户的真实姓名... 在哪个终端... 什么时候登录的... finger username... 输出挺全的...
who 命令... 这个就简单... 列出当前登录在系统的用户... 谁在哪终端... 什么时候上的... 就 who... 一键显示...
w 命令... 比 who 信息更多... 不仅能看到谁登录... 还能看到他们正在干什么... 在跑什么命令... w... 信息量比较大...
想看登录历史... 谁来过... 谁走过了... last 命令... 这个是按时间倒序列出来... 包含 IP 地址什么的... last...
lastlog 命令... 这个看的是... 用户最后一次登录是什么时候... 不管是成功还是失败... 甚至没登录过的用户... 都有记录... lastlog... 查看最近一次...
还有... /var/run/utmp 和 /var/log/wtmp 这两个文件... utmp 是当前登录的用户信息... wtmp 是历史登录注销记录... 你可以用 sudo cat /var/run/utmp 看当前谁在线... sudo cat /var/log/wtmp 看历史记录... 这些文件比较原始...
最后... journalctl... 这个是系统日志... 如果你的系统用 systemd... 用这个能查到登录事件... 比如用 journalctl SYSTEMD_UNIT=systemd-logind.service --since today... 这样能过滤出今天以来的登录相关的日志... 查系统日志...
哦... 对了... 你还可以自己写脚本... 比如... 用 bash 写个脚本... 把 /etc/passwd 和 lastlog 的信息... 合并一下... 写到一个自定义的日志文件里... 比如 /var/log/user_info.log... 这样信息就集中了... 方便看...
选择哪个方法... 就看你需要什么信息... 比如快速看谁在线... 就用 who 或 w... 想看历史... 就用 last 或 lastlog... 要看密码... 就得用 root 权限看 /etc/shadow... 或者用 getent... 安全操作记得用 sudo...
组合起来用... 就能比较全面地了解用户活动了...

查看linux 所有用户名和密码是什么

Linux系统密码加密存储。

/etc/passwd显示用户名和加密密码。

加密密码字段为x,实际密码在/etc/shadow。

/etc/shadow只有root可读。

当前登录用户用users命令。

不要直接看/etc/shadow。

用passwd等工具管理密码。

泄露密码违法。