如何查找Linux所有用户(linux如何查找用户名)

user 如何查找Linux所有用户 在Linux中有命令可以创建用户,删除用户,列出已登录的用户,你可能会发现,为什么没有列出用户的命令 By myfreax 4 Oct 2022

在Linux带有命令可以创建用户,删除用户,列出已登录的用户,你会发现,为什么没有列出用户的命令。

那般Linux又怎么列出用户,在入门教程中说明如何列出Linux用户。

本地用户信息存储在/etc/passwdword里。此文档里的每一行代表一个用户的登录信息,您可以使用catless 命令查看

less /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

从导出来中可以看出,每行有七个由炉灶分隔的字段,主要包括的信息包括。

用户名,加密密码(x说明用户名和密码存储在/etc/shadowword里,用户UID,用户的组ID号(GID

用户的全名GECOS,用户家目录,登录shell,默认设置/bin/bash

假如你要的是说明用户名,能用命令awk或者cut只打印出包含用户位第一个字段。

awk -F: '{ print $1}' /etc/passwd
cut -d: -f1 /etc/passwd
root
daemon

getent命令

getent命令可以看到/etc/nsswitch.conf文本文档使用的passwd数据库系统系统记录,这类记录主要包含Linux用户的信息

如果使用LDAP进行用户身份验证,getent则说明/etc/passwd文件或LDAP数据库系统系统中所有Linux用户。

要想获得所有Linux用户的文件目录,大家可以在智能终端运行命令getent passwd

getent passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
.....

如果您所见所闻,导出来的内容与/etc/passwd文本文档内容是一样的。您可以使用管道的方式传达给awkcut 命令只打印出包含用户位第一个字段。

getent passwd | awk -F: '{ print $1}'
getent passwd | cut -d: -f1

检查Linux 用户存不存在

现在我们知道如何列出所有用户,要验用户是否存有我们自己Linux系统中,我们可以通过将文件目录传达给grep命令来过滤用户文件目录。

例如,要验myfreax用户是否存有我们自己Linux系统中,可以运行命令getent passwd | grep myfreax

倘若用户存在,则上面的命令将打印出用户的信息。如果没有导出来还表示用户也不会有。

我们还可以无法使用grep命令的情况之下检查用户存不存在,运行命令getent passwd myfreax。和以往一样,倘若用户存在,该命令将说明用户的信息。

getent passwd | grep myfreax
myfreax:x:1000:1000:myfreax,,,:/home/workspace/myfreax:/usr/bin/zsh

如果要检索系统上一共有多少个用户账户,能把getent passwd输出结果通过管道传达给wc命令。

getent passwd | wc -l
33

从上面的导出来可以获知,我Linux系统有33个用户账户

系统与一般用户

系统与一般用户本来就没有真正的技术区别。一般是在安装操作方便系统跟新软件包的时候就会创建系统用户。在某些情况下,大伙儿可以建立将由某一系统软件所使用的系统用户。

一般用户是由root用户和具有sudo管理权限用户创建。一般一般用户具有真正登录shell和家目录。

每一个用户都是有一个名叫UID数据用户ID。倘若应用useradd命令创建新用户时未找到,则会把/etc/login.defs根据UID_MINUID_MIN值自动式文本文档中选择UID 。

要验Linux系统UID_MINUID_MIN值,可以运行命令grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

我们可以根据系统的UID_MINUID_MIN值来找到所有一般用户,下面的命令很有可能马上加载UID_MINUID_MIN值来检索一般用户。

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}

如果想想打印出用户名,只需要使用管道传达给cut命令:

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1

在这儿入门教程中您学会了如何列出和过滤Linux系统中的用户以及系统与一般Linux用户之间重要区别。

相同的命令适用于任何Linux发行版,包括Ubuntu,CentOS,RHEL,Debian和Linux Mint

假如你有任何疑问,请随时

LINUX

如何在CentOS创建sudo用户(ubuntu创建sudo用户)

2023-1-19 8:29:28

LINUX

怎么检查centos的版本(怎么看centos的版本)

2023-1-19 8:34:51

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索