作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动。有些时候,你甚至需要知道他(她)们正在做什么。本文为我们总结了4种查看系统用户信息(通过编号(ID))的方法。
1. 使用w命令查看登录用户正在使用的进程信息
w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括:
-
用户名称
-
用户的机器名称或tty号
-
远程主机地址
-
用户登录系统的时间
-
空闲时间(作用不大)
-
附加到tty(终端)的进程所用的时间(JCPU时间)
-
当前进程所用时间(PCPU时间)
-
用户当前正在使用的命令
w命令还可以使用以下选项
-
-h忽略头文件信息
-
-u显示结果的加载时间
-
-s不显示JCPU, PCPU, 登录时间
23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ramesh pts/0 dev-db-server 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv]
jason pts/1 dev-db-server 23:01 2:53 0.01s 0.01s -bash
john pts/2 dev-db-server 23:04 0.00s 0.00s 0.00s w
$
w -h
ramesh pts/0 dev-db-server 22:57 17:43 2.52s 0.01s sshd: ramesh [priv]
jason pts/1 dev-db-server 23:01 20:28 0.01s 0.01s -bash
john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -h
$
w -u
23:22:06 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ramesh pts/0 dev-db-server 22:57 17:47 2.52s 2.49s top
jason pts/1 dev-db-server 23:01 20:32 0.01s 0.01s -bash
john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -u
$
w -s
23:22:10 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM IDLE WHAT
ramesh pts/0 dev-db-server 17:51 sshd: ramesh [priv]
jason pts/1 dev-db-server 20:36 -bash
john pts/2 dev-db-server 1.00s w -s
2.使用who命令查看(登录)用户名称及所启动的进程
who命令用于列举出当前已登录系统的用户名称。其输出为:用户名、tty号、时间日期、主机地址。
$ who
ramesh pts/0 2009-03-28 22:57 (dev-db-server)
jason pts/1 2009-03-28 23:01 (dev-db-server)
john pts/2 2009-03-28 23:04 (dev-db-server)
如果只希望列出用户,可以使用如下语句:
$ who | cut -d' ' -f1 | sort | uniq
jason
ramesh
补充
:users命令,可用于打印输出登录服务器的用户名称。该命令除了有help和version选项外,再没有其他选项。如果某用户使用了多个终端,则相应的会显示多个重复的用户名。
$ users
john jason ramesh
3.
使用whoami命令查看你所使用的登录名称
whoami命令用于显示登入的用户名。
$ whoami
john
whoami命令的执行效果和id -un的效果完全一样,例如:
$ id -un
john
whoami命令能显示当前登入的用户名称,以及当前所使用的tty信息。该命令的输出结果包括如下内容:用户名、tty名、当前时间日期,同时还包括用户登录系统所使用的链接地址。
$ who am i
john pts/2 2009-03-28 23:04 (dev-db-server)
$ who mom likes
john pts/2 2009-03-28 23:04 (dev-db-server)
Warning: Don't try "who mom hates" command.
当然,如果你使用su命令改变用户,则该命令(whoami)所显示的结果将随之改变。
4. 随时查看系统的历史信息(曾经使用过系统的用户信息)
last命令可用于显示特定用户登录系统的历史记录。如果没有指定任何参数,则显示所有用户的历史信息。在默认情况下,这些信息(所显示的信息)将来源于/var/log/wtmp文件。该命令的输出结果包含以下几列信息:
-
用户名称
-
tty设备号
-
历史登录时间日期
-
登出时间日期
-
总工作时间
$ last jason
jason pts/0 dev-db-server Fri Mar 27 22:57 still logged in
jason pts/0 dev-db-server Fri Mar 27 22:09 - 22:54 (00:45)
jason pts/0 dev-db-server Wed Mar 25 19:58 - 22:26 (02:28)
jason pts/1 dev-db-server Mon Mar 16 20:10 - 21:44 (01:33)
jason pts/0 192.168.201.11 Fri Mar 13 08:35 - 16:46 (08:11)
jason pts/1 192.168.201.12 Thu Mar 12 09:03 - 09:19 (00:15)
jason pts/0 dev-db-server Wed Mar 11 20:11 - 20:50 (00:39
本文作者为
Hari Haran
。他工作于
bk Systems (p) Ltd
,并致力与开源软件事业。
linux
系统
查看
用户
登录
信息的命令有很多,包括w、who、whoami、users、last、lastb、lastlog、id、finger等。每个命令都可以
查看
当前
登录
的用户,但是又各有侧重点。w还可以
查看
用户正在执行的命令;who可以
查看
系统
的启动时间;finger可以
查看
指定用户的
登录
信息;last可以
查看
历史
登录
记录等等。这些命令我们只需要基本的了解就行,w命令最简短、简介推荐使用;last命令常
用于
安全排查。实验环境说明,此命令的使用示例均是在centos7.6操作
系统
下执行。
选择上述任一命令,根据需要获取
当前
登录
用户的简单列表或详细信息。如果您是
系统
管理员,这些命令有助于监控
系统
活动和用户会话状态。输出结果通常包括用户名、
登录
终端(TTY)、
登录
时间以及远程
登录
用户的来源地址(如果适用)。输出结果是一行文本,包含所有
当前
登录
用户的用户名,每个用户名之间用空格分隔。这将显示一个表格,列出了所有活动会话及其详细状态。
查看
当前
在线用户的条目即可了解
当前
登录
用户情况。它将只输出
当前
执行此命令的用户名。
如果你对
Linux
中的目录结构稍有了解,就会知道这两个目录包含有关
系统
上正在运行的进程的数据。上面的两
种
方法
,w 命令和 who 命令,都会显示
当前
登录
用户的详细信息(比如终端、IP地址、
登录
时间等)。last 命令可以显示
系统
自上次重启以来,都有哪些用户
登录
过
系统
(包括
当前
正在
登录
的,以及已经注销的用户)。上述输出中,TTY 显示用户用户
登录
的终端信息,其中 pts 表示伪终端从属,即通过 ssh 连接
登录
的。这是个最简单的
方法
,只需键入一个字母命令,即可查询出
当前
系统
中
登录
的用户。
ttyS0~ ttyS3 (串行端口终端)指的是电脑的各个物理接口(这些都是串口,不是并口),外部的终端通过这些物理接口与电脑连接 ,从而实现和电脑进行交互。例如:dmesg |grep tty可以
查看
开启的接口(串口)目前连接远程服务器或者直接在服务器上面操作等都是通过创建虚拟终端的形式。比如pts/1 和tty1虚拟终端,其中tty表示直接
登录
机器生成的而pts表示远程连接生成的。其中远程连接...
转载于:http://www.jbxue.com/
LINUX
jishu/17080.html
转载学习常见的4
种
查看
系统
用户信息
(通过编号(ID))的
方法
1. 使用w命令
查看
登录
用户正在使用的进程信息
w命令
用于
显示已经
登录
系统
的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括:用户名称
用户的机器名称或tty号
远程主机地址
除了使用
系统
提供的工具和文件,您还可以编写自己的脚本来查找用户帐户信息和
登录
详细信息,并将结果记录到自定义的日志文件中。这样可以根据您的需求和
系统
配置进行更灵活的管理和监视。/bin/bash # 查找用户帐户信息 cat /etc/passwd # 查找
登录
详细信息 lastlog # 记录结果到日志文件 LOG_FILE = "/var/log/user_info.log" {以上是12
种
在
Linux
中查找用户帐户信息和
登录
详细信息的
方法
。
getent passwd:该命令将列出
系统
中所有用户账号的详细信息,与第一个命令类似,但是能够显示来自其他命名空间的用户账号,例如LDAP或NIS账号等。cat /etc/passwd:该命令将显示
系统
中所有用户账号的详细信息,包括用户名、用户ID、组ID、用户家目录路径和默认shell等。可以使用whoami命令来查询CentOS 8
当前
用户的会话信息,该命令将显示
当前
登录
用户的用户名。该命令将显示
登录
用户的用户名、终端设备、
登录
时间以及运行的进程等详细信息。
博客地址:http://www.moonxy.com
一、Unix 和
Linux
的区别
目前主流的 Unix
系统
有三
种
,分别是 IBM-AIX、HP-UX、SUN-Solaris,它们分别运行在各自的 Unix 服务器上,这些 Unix 服务器自成体系,有自己生产的 CPU、内存、主板等等,这些 Unix
系统
互不兼容,它们各自有自己的
系统
工程师,这些工程师一般只熟悉其中的某
种
...
作为
系统
管理员,你可能经常会(在某个时候)需要
查看
系统
中有哪些用户正在活动。有些时候,你甚至需要知道他(她)们正在做什么。本文为我们总结了4
种
查看
系统
用户信息
(通过编号(ID))的
方法
。
1. 使用w命令
查看
登录
用户正在使用的进程信息
w命令
用于
显示已经
登录
系统
的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括: