Linux教程
Linux目录
Linux命令
Linux用户
Linux文件
Linux进程
Linux查询
Linux I/O
Linux正则
Linux安全
Linux shell
Linux网络
Linux VI
Linux 系统命令
Linux 其他

Linux 用户列表

Linux 用户列表

在任何时候,一个以上的用户都可以访问单个计算机系统。对于这些类型的分布式系统,系统管理员应采取准确的安全措施,以使用户不会破坏他人的隐私。
例如,
使用访问控制机制,定义所有用户的特权。
可能必须对用户的特权进行修改。例如,用户可能需要为特定任务增加其特权,或者可能必须完全取消特定用户访问系统的能力。
在这些类型的场景中,这是对于系统管理员来说,对系统的每个用户有足够的了解是必不可少的。
在本主题中,我们将探讨Linux操作系统。基于命令行界面的技术和基于基于图形用户界面的技术均可用于此操作。

/etc/passwd文件

用户的详细信息存储在/etc/passwd文件中。该文件是纯文本文件。因此,我们可以使用cat或更少的命令来读取该文件。
在此文件中,每一行都包含由冒号(:)分隔的特定用户的各种详细信息。单行包含以冒号(:)分隔的以下详细信息。
Username Password GID UID 主目录路径 用户详细信息 默认Shell
用户名-是用户的登录名。它不能有空格或其他唯一字符。只能使用字母数字字符。
密码-密码保存在基于Linux的操作系统中的/etc/shadow文件中。
GID-所有组都有一个数字ID和一个组名,这在基于Linux的操作系统上称为GID或组ID。 Linux上的所有用户都应至少是一个组的成员。
因此,对于所有创建的用户,该组也将以与用户名相似的名称创建。然后,将用户添加到组中。在此特定字段中添加了主要组的组ID。主要组是用户组(默认)。
当用户是多个组的成员时,可以使用newgrp命令在用户登录时对其进行修改。对于普通组,GUD从1000开始。
如果未专门配置我们的Linux,则组ID必须与UID相似。
注意: 根组包含GID 0。
UID-所有用户都有数字ID和用户名,或称为UID或用户ID的字母数字名称。对于普通用户,UID从1000开始,并且根用户包含UID 0。
主目录路径-,它包含一个目录的路径,每个用户文件都将保存在该目录中。通过该字段设置一个$ HOME的shell变量。
用户详细信息-它包含用户的完整名称和其他详细信息,以逗号分隔的列表形式。此步骤最基本的用途之一是设置用户的全名。只需在此处输入用户名的全名,就必须进行设置。
默认Shell-在基于Linux的系统上,我们应该为用户提供一组Shell 。默认情况下,必须为能够登录系统的用户设置 bash 和 sh(/bin/sh) shell。但是,还有其他shell,例如csh,zsh等。
系统用户具有/sbin/nologin shell设置。因此,他们将无法登录系统。如果我们希望禁用一些用户的登录过程,请将这些类型的用户的此字段设置为/sbin/nologin。

按用户名称对用户进行排序和列出

我们可以按字母顺序对用户进行排序和列出。为此,我们将应用前面的命令并包括sort命令。
该命令如下:
$ cut-d:-f1 /etc/passwd | sort

Linux List Users
使用上述命令后,用户将显示为已排序。

列出没有密码的用户

有必要知道那些没有密码的用户并采取必要的措施。对于列出没有密码的用户,我们可以应用以下命令:
$ sudo getent shadow | grep-Po '^[^:]*(?=:.?:)'

Linux列表用户
使用上述命令后,我们将获得没有列表的用户列表。密码。

通过磁盘使用情况列出用户

如果我们有大量的磁盘,我们可以应用 du 命令来获取磁盘使用情况目录,我们希望知道哪个用户正在溢出该目录。
使用此命令,我们可以找到哪些用户正在破坏磁盘空间。
该命令将如下所示:
$ sudo du-smc /home/* | sort-n

Linux List Users
使用上述命令后,我们将通过以下命令订购用户列表/p目录的磁盘使用情况。

(当前列出)已登录的用户

我们有很多方法可以列出已登录的用户(当前) )。第一种方式,我们可以应用用户命令:
$ users

Linux List Users
以上命令将列出用户以及系统内的打开会话。
但是,此信息有点普遍。但是,我们还有其他命令可提供更多详细信息。简单来说,命令是w。
$ w

Linux列表用户
我们将获得更多详细信息,例如会话开始的确切时间并且终端会话可用。
现在,还有另一个名为谁的命令。该命令存在于整个UNIX系列中。因此,我们可以将其应用于其他系统,例如FreeBSD。
$ who

Linux列表用户
使用上述命令,我们还提供一些有关登录用户的详细信息现在。我们可以包含-a 选项并显示每个细节。
$who-a

Linux列表用户

(最近)列出已记录的用户

我们研究了当前如何获取登录用户,但是如何列出用户的登录历史呢?
我们可以应用最后一条命令来获取更多登录详细信息:
$ last

Linux列表用户
此外,我们可以使用以下命令获取特定用户的登录名命令:
$ last [username]

Linux List Users

列出特定时间的用户登录名或日期

要实现此目的,我们可以将最后一个命令与-t参数一起应用:
$ last-t YYMMDDHHMMSS

Linux列表用户
我们要做的就是选择列出谁的确切时间和日期。

列出root用户

通常,Linux操作系统中只有一个root用户。如果有几个,那么如何列出它们?
为此,我们可以应用以下命令:
$ grep 'x:0:' /etc/passwd

Linux列表用户
我们可以过滤文件,以使用户与零个UID根用户并在一起使用上述命令。
检查/etc/group文件的另一种方法:
$ grep root /etc/group

Linux列表用户
在这里,我们将通过/etc/来获取组路由中的用户passwd文件。
我们还可以通过检查文件来检查是否有任何用户可以以root用户身份运行命令:
$ cat /etc/sudoers 

列出组中的每个用户

在Linux中,有两种重要的方法可以列出组中的用户。通过如下所示的 /etc/group 文件获取成员的最直接,最简单的方法:
$ cat /etc/group | grep group1
上面的命令将列出group1组中的成员。
第二种方法是通过在基于Debian的发行版中应用诸如成员命令之类的命令。默认情况下,它不安装在Linux发行版中。

列出用户数

在Linux中,要列出用户数,我们可以计算其中的行数 /etc/passwd 文件,该文件借助于 wc 命令如下:
$ cut-d:-f1 /etc/passwd | wc-l

Linux List Users
以上命令将为我们提供常规用户和系统用户。

获取sudo用户

Linux系统包含一个称为sudo的实用程序,它使我们可以像通常是root用户的另一个用户一样运行命令。
在专业环境中必须小心管理。
对于知道哪个用户可以执行sudo命令也非常重要。列出与sudo组相关的用户就足够了。
$ members sudo

Linux列表用户
该组中的用户可以以超级用户身份运行命令。

列出具有SSH访问权限的用户

SSH允许用户访问网络上的远程计算机。此方法是安全的,是作为替代方法开发的
每个普通用户默认都可以登录并访问SSH。如果希望限制它,可以应用SSH的配置文件(/etc/ssh/ssh_config)并包含以下指令:
AllowUsers user1 user2 user3
我们还可以允许组,而不是只允许用户使用AllowGroups指令:
AllowGroups group1 group2 group3
这些指令类型指定谁可以使用该服务。我们不要忘记重启SSH服务。

列出有权访问目录或文件的用户

我们可以提供多个用户权限来修改或访问目录和文件有两种方法。
在第一种方法中,我们可以将用户添加到目录或文件的组中。
我们可以在帮助下获取组成员
但是,当我们希望该用户仅访问该特定文件(而不是每个组的权限)时,会怎样呢?
为此,我们可以将ACL用于借助如下的setfacl命令,此特定文件:
$ setfacl-m u:newuser:rwx test
在这里,我们为称为 newuser 的用户提供对名为 test 的文件的身份验证。它充当读取,写入和执行的身份验证。
现在,文件所有者可以修改或访问该文件。该用户称为 newuser 。因此,如何列出它们?
借助getfacl命令,我们可以获取它们:
$ getfacl test
我们可以使用上述命令让每个拥有该文件身份验证以及相关权限的用户。

列出禁用(锁定)的用户

我们可以将任何用户锁定为Linux操作系统中的安全措施。当不确定用户是否实施错误时,这是​​一种预防措施,我们不希望完全删除用户,而只能锁定它们以进行调查。
我们可以应用以下命令来锁定用户:
$ usermod-L user1

Linux List Users
应用上述命令后,名为user1'的用户将不再是能够使用或登录系统。

列出远程用户(LDAP)

我们可以使用称为的单个命令列出远程用户和本地用户>获取。
$ getent passwd

Linux列表用户
以上命令将同时列出NIS或NDAP用户以及本地系统用户或其他网络用户。
我们可以通过类似的方式将此命令的结果传递给上述命令。
getent命令还可以列出一个组的帐户,如下所示:
$ getent group

Linux列表用户
我们可以检查命令的手册页以了解该命令所涉及的其他数据库可以找到。

列出用户的技术

技术1: " cat"命令

我们可以使用cat命令在命令行上列出每个用户,以在Linux的/etc/passwd文件中显示每个用户的密码和帐户详细信息。
要应用cat命令在Linux操作系统中列出每个用户,以下步骤必须按顺序执行:
启动终端。 执行以下命令。
$ cat /etc/passwd 

Linux列表用户
运行该命令还将显示用户名和其他一些信息。我们可以滚动此列表以查看Linux操作系统的每个用户。

技术2: " awk"命令

如果我们要仅显示用户名,如果我们不需要使用cat命令返回任何技术信息,这可能会有所帮助
要将此命令应用于列出Linux中的每个用户,必须按顺序执行以下步骤
启动终端。 执行以下命令:
$ awk-F: '{ print $1}' /etc/passwd

Linux列表用户
在终端中执行此命令时,我们只会收到用户名。此外,此列表还包含我们Linux系统的每个用户。

技术3: " compgen"命令

compgen命令仅用于显示用户名,
T
o应用compgen命令列出每个Linux用户,必须按顺序执行以下步骤:
启动终端。 执行以下命令:
$ compgen-u

Linux列表用户
使用此命令,我们将使每个用户名与Linux操作系统连接。

技术4:"getent"命令

cat命令的结果与getent命令的结果非常相似,因为它显示了几个详细信息,用户名。
要应用getent命令列出Linux内部的每个用户,必须按顺序执行以下步骤:
启动终端。 执行以下命令:
$ getent passwd

Linux List Users
以上命令将列出我们Linux系统的每个用户以及其他一些信息以及。

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4