Linux命令行查询用户:轻松掌握系统使用者信息 (linux系统查询用户命令行)

在Linux系统中,用户是重要的组成部分。Linux提供了许多命令来查询并管理用户,因此了解这些命令非常有用。本文将介绍Linux命令行中的几个常见的命令,帮助您轻松掌握系统使用者信息。

1. whoami

whoami命令是最简单的命令之一,它用于显示当前登录用户的用户名。这个命令非常有用,因为有时候您不确定当前使用的是哪个账户,这个命令可以帮助您快速确认。

语法:whoami

示例:

$ whoami

输出结果:

jimmy

2. id

id命令可以显示当前用户的ID及其所属的组ID。它还可以显示其他用户的ID,但是需要具有相应的权限。

语法:id [选项] [用户名]

选项:

-g 显示用户所属的组ID

-G 显示用户所属的附加组ID

-r 显示真实ID

-u 显示用户ID

示例:

$ id

输出结果:

uid=1000(jimmy) gid=1000(jimmy) groups=1000(jimmy),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)

3. who

who命令可以列出当前已登录的用户以及他们的登录信息。它列出的信息通常包括用户名、终端名称、登录时间和IP地址等等。

语法:who [选项]

选项:

-a 显示所有信息,包括系统启动时间

-b 显示最后一次系统引导时间

-H 以头信息格式显示输出

-m 显示当前登录用户

-r 显示运行级别

-w 显示能看到的另一个登录用户

示例:

$ who

输出结果:

jimmy :0 2023-11-18 09:51 (:0)

jimmy pts/0 2023-11-18 13:48 (:0)

4. finger

finger命令可以显示用户的详细信息,包括用户名、终端、登录时间、最近一次活动时间、邮件地址、号码等等。默认情况下,finger命令只显示当前用户的信息,但实际上可以使用用户名来查询其他用户的信息。

语法:finger [选项] [用户名]

选项:

-m 查看当前用户信息

-s 简短输出信息

示例:

$ finger jimmy

输出结果:

Login: jimmy Name: Jimmy

Directory: /home/jimmy Shell: /bin/bash

On since Wed Nov 18 09:51 (CST) on :0 from localhost.localdomn

15 hours 9 minutes idle

1 message received

unread since Wed Nov 18 14:17 (CST)

No Plan.

5. last

last命令可以显示系统中最近的登录信息。它会显示每个用户的登录时间、登录设备以及注销时间。 lastlog命令与last命令非常相似,它只显示每个用户的最后一次登录信息。

语法:last [选项]

选项:

-a 显示全部信息

-f 文件名 指定日志文件

-i 显示IP地址

-x 显示系统关机和重新启动的时间

示例:

$ last

输出结果:

jimmy pts/0 localhost.loca Wed Nov 18 13:48 still logged in

jimmy :0 localhost.loca Wed Nov 18 09:51 still logged in

reboot system boot 4.18.0-193.el8. Wed Nov 18 09:01 still running

shutdown system down 4.18.0-193.el8. Wed Nov 18 08:56 – 09:01 (00:05)

在Linux命令行中查询用户信息非常重要。本文列举了五个常见的命令,包括whoami、id、who、finger和last。这些命令可以帮助您轻松掌握系统使用者信息。希望这篇文章对您有所帮助!

相关问题拓展阅读:

如何查看Linux中各个用户的历史操作命令

1、使用w命令查看登录用户正在使用的进程信息,w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括:

用户名称

用户的机器名称或tty号

远程主机地址

用户登录系统的时间

空闲时间(作用不大)

附加到tty(终端)的进程所用的时间(JCPU时间)

当前进程所用时间(PCPU时间)

用户当前正在使用的命令

$ w

23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02

USER TTY FROMLOGIN@ IDLE JCPU PCPU WHAT

ramesh pts/.1.80.:.00s 0.05s 0.01s sshd: ramesh

jason pts/.20.::53 0.01s 0.01s -bash

john pts/.1.80.:.00s 0.00s 0.00s w

此外,可以使用who am i查看使用该命令的用户及进程,使用who查看所有登录用户进程信息,这些查看命令大同小异;

2. 在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录, 可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据。这时候通过查看历史记录(命令:history)是没有什么意义了(因为燃唤history只针对登录用户下执行大友有效,即使root用户也无法得到其它用户histotry历史)。那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。

通过在/etc/profile里面加入以下代码就可以实现:

PS1=”`whoami`@`hostname`:””

history

USER_IP=`who -u am i 2>/dev/null| awk ‘{print $NF}’|sed -e ‘s///g’`

if

then

USER_IP=`hostname`

fi

if

then

mkdir /tmp/dbasky

chmod 777 /tmp/dbasky

fi

if

then

mkdir /tmp/dbasky/${LOGNAME}

chmod 300 /tmp/dbasky/${LOGNAME}

fi

export HISTSIZE=4096

DT=`date “+%Y-%m-%d_%H:%M:%S”`

export HISTFILE=”/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT”

chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null

source /etc/profile 使用脚本生皮仿凯效

退出用户,重新登录

上面脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。

root@zsc6:ls

10.1.80.47 dbasky._12:53:08

root@zsc6:cat 10.1.80.47 dbasky._12:53:08

linux系统查询用户命令行的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux系统查询用户命令行,Linux命令行查询用户:轻松掌握系统使用者信息,如何查看Linux中各个用户的历史操作命令的信息别忘了在本站进行查找喔。


数据运维技术 » Linux命令行查询用户:轻松掌握系统使用者信息 (linux系统查询用户命令行)