轻松掌握!如何查看Linux系统中的用户列表? (查看linux都有哪些用户)

Linux系统是一种广泛应用于服务器和智能设备上的操作系统,在日常管理中查看用户列表是一个十分重要的任务。本文将指导您轻松掌握如何查看Linux系统中的用户列表。

一、使用cat /etc/passwd命令查看用户列表

cat /etc/passwd命令是Linux中用来查看用户列表的最基本命令。该命令的输出格式为:用户名:密码占位符:用户标识号:组标识号:用户信息:用户主目录:用户的命令解释器。其中各字段含义如下:

1.用户名:该字段指的是系统中所有用户的名称,可以用于实现用户之间的区分。

2.密码占位符:该字段不是用户密码本身,而是代表用户密码的占位符,即经过加密后的密码。如果一行的密码占位符显示为“x”或“*”,意味着密码已经加密并存储在/etc/shadow中。

3.用户标识号:该字段指的是用户的身份标识,通常缩写为UID。 UID是系统内部留给每一个用户的唯一编号,其取值范围是0-65535,其中0为超级用户的特殊UID。

4.组标识号:该字段指的是用户所属的用户组,通常缩写为GID。用户组是管理用户的一种方式,将相同特征的用户归为同一组方便管理,所有可以访问某个文件或目录中的用户都必须属于该文件的用户组之一。

5.用户信息:该字段是可选的,用于描述一些关于用户的基本信息,比如姓名、地址、等。这个字段内部需要以一个逗号作为分隔符。

6.用户主目录:该字段是指用户的主目录,常常缩写为“home”。用户登录时,会自动进入他的主目录,即~符号后跟的地址。

7.用户的命令解释器:该字段是指用户默认使用的命令解释器,通常缩写为SHELL。这个字段可以用于指定用户的默认Shell环境,如bash、sh等等。

因此,通过cat /etc/passwd命令我们可以清晰地了解系统中所有用户的基本信息。使用该命令的语法为:

“`

cat /etc/passwd

“`

二、使用getent passwd命令查看用户列表

getent passwd命令是一个基于网络的工具,用于从各种命名服务数据库中获取资料。使用该命令,可以快速地访问用户列表,包括本地文件(如/etc/passwd)、NIS、LDAP等服务。该命令的输出格式与cat /etc/passwd命令类似,也是用冒号分隔各字段。

getent passwd命令的语法如下:

“`

getent passwd

“`

通过该命令获取的用户名序列,可以让管理者更方便地了解到当前系统中有哪些用户及其主要信息。

三、使用id命令查看当前用户信息

id命令用于查看当前用户信息,其中包含自己的UID、所属的用户组、已启用的附加组等。使用该命令的语法为:

“`

id

“`

id命令默认会返回当前用户的个人信息,并在之一行输出含有用户ID、组ID、以及所属标准组的信息。在默认状态下,id命令会输出为文本替代符形式的数字,而使用选项-g和 -G可以返回实际的数字和附加组。

四、

在本文中,我们介绍了三种不同的方法来查看Linux系统中的用户列表:cat /etc/passwd命令、getent passwd命令和id命令。管理员可以根据不同的需求和场景选择相应的命令来获取所需的用户信息。熟练掌握这些命令必将成为系统管理者和程序开发人员不可或缺的一项技能。

相关问题拓展阅读:

linux怎么查看用户组里有哪些用户

groups 查看当前登录用户的组内成员

groups gliethttp 查看gliethttp用户所在的组,以及组内成链察员

whoami 查看当前登录用户名

/etc/group文件包含所有组

/etc/shadow和/etc/passwd系统存在的所有用户名

1、/etc/group 解说;

/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用 户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件 的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;

用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,更好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去,

2、/etc/group 内容具体分析

/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:

group_name:passwd:GID:user_list

在/etc/group 中的每条记录分四个字段:

之一字段:用户组名称;

第二字段:用户组密码;

第三字段:GID

第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;

三、用户(user)和用户组(group)庆唤模相关的配置文件、命令或目录;

1、与用户(user)和用户组(group)相关的配置文件;

1)与用户(user)相关的配置文件;

/etc/passwd 注:用户(user)的配置文件;

/etc/shadow 注:用户(user)影子口令文件;

2)与用户组(group)相关的配置文件;

/etc/group 注:用户组(group)配置文件;

/etc/gshadow 注:用户组(group)的影子文件;

2、管理用户(user)和用户组(group)的相关工具或命令;

1)管理用户(user)的工具或命令;

useradd 注:添加用户

adduser 注:添加用户

passwd 注:为用户设置密码

usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目誉缓录等等;

pwcov 注:同步用户从/etc/passwd 到/etc/shadow

pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;

pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;

finger 注:查看用户信息工具 id 注:查看用户的UID、GID及所归属的用户组 chfn 注:更改用户信息工具

su 注:用户切换工具 sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,

但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;

visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;

sudoedit 注:和sudo 功能差不多;

 

2)管理用户组(group)的工具或命令;

groupadd 注:添加用户组;

groupdel 注:删除用户组;

groupmod 注:修改用户组信息

groups 注:显示用户所属的用户组

grpck grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;

grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;

4、/etc/login.defs 配置文件;

/etc/login.defs 文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的;

比如Fedora 的 /etc/logins.defs 文件内容;

 

# *REQUIRED* # Directory where mailboxes reside, _or_ name of file, relative to the # home directory. If you _do_ define both, MAIL_DIR takes precedence.

# QMAIL_DIR is for Qmail

# #QMAIL_DIR Maildir MAIL_DIR /var/spool/mail 注:创建用户时,要在目录/var/spool/mail中创建一个用户mail文件; #MAIL_FILE .mail

# Password aging controls: #

# PASS_MAX_DAYS Maximum number of days a password may be used.

# PASS_MIN_DAYS Minimum number of days allowed between password changes.

 # PASS_MIN_LEN Minimum acceptable password length.

# PASS_WARN_AGE Number of days warning given before a password expires.

 # PASS_MAX_DAYS注:用户的密码不过期最多的天数;

 PASS_MIN_DAYS 0 注:密码修改之间最小的天数;

PASS_MIN_LEN 5 注:密码最小长度;

PASS_WARN_AGE 7 注: #

# Min/max values for automatic uid selection in useradd

# UID_MIN 500 注:最小UID为500 ,也就是说添加用户时,UID 是从500开始的; UID_MAX注:更大UID为60000; #

 # Min/max values for automatic gid selection in groupadd # GID_MIN 500 注:GID 是从500开始; GID_MAX#

 # If defined, this command is run when removing a user.

 # It should remove any at/cron/print jobs etc. owned by

# the user to be removed (passed as the first argument). #

 #USERDEL_CMD /usr/in/userdel_local #

# If useradd should create home directories for users by default

 # On RH systems, we do. This option is ORed with the -m flag on

 # useradd command line

. # CREATE_HOME yes 注:是否创用户家目录,要求创建;

 

5、/etc/default/useradd 文件;

通过useradd 添加用户时的规则文件;

# useradd defaults file

GROUP=100

HOME=/home  注:把用户的家目录建在/home中;

INACTIVE=-1  注:是否启用帐号过期停权,-1表示不启用;

EXPIRE=   注:帐号终止日期,不设置表示不启用;

SHELL=/bin/bash  注:所用SHELL的类型;

SKEL=/etc/skel   注: 默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;

后记:

关于用户(user)和用户组(group)管理内容大约就是这么多;只要把上面所说的内容了解和掌握,用户(user)和用户组(group)管理就差不多了;由于用户(user)和用户组(group)是和文件及目录权限联系在一起的,所以文件及目录权限的操作也会独立成文来给大家介绍;

本文只是让新手弟兄明白用户(user)和用户组(group)一些原理,所以我在写此文的时候,大多是解说内容,我的意思是通过解说和索引一些命令,让新手弟兄明白一点理论是比较重要的,技术操作无非是命令的用法;

linux的用户信息保存在/etc/passwd文件中,另外,/etc/shadow文件存放的是用户密码相关信息。

/etc/passwd文件格式:

用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell

其中UID为0则是用户root,1~499为系统用户,500以上为普通用户

/etc/shadow保存用户密码信息,包括加密后的密码,密码过期时间,密码过期提示天数等。

用户组信息保存在/etc/group文件中.

格式如下:

用户组名:组密码:GID:组内帐号(多个帐号用逗号分隔)

用户登录后,/etc/passwd文件里的GID为用户的初始用户组。

用户的初始用户组这一事实不会再/etc/group中体现。

新建用户命令:

#useradd 用户名 -g 初始用户组 -G 其他用户组(修改/etc/group) -c 用户说明 -u 指定UID

建完用户需要为用户设置密码:

#passwd 用户名

用户要修改自己密码命令:

#passwd

修改用户信息命令:

#usermod 参数 用户名

参数:

 -c 说明

 -g 组名 初始用户组

-e 过期日期 格式:YYYY-MM-DD

 -G 组名 其他用户组

 -l 修改用户名

 -L 锁定账号(在/etc/shadow文件中用户对应密码密码串的前面加上两个叹号(!!))

 -U 解锁

删除用户命令:

#userdel  用户名

其中,参数-r为删除用户的home目录。

其实,可能在系统其他地方也有该用户文件,要完整删除一个用户和其文件要先找到属于他的文件:

#find / -user 用户名

然后删除,再运行userdel删除用户。

查看可用shell命令:

#chsh -l

修改自己的shell命令:

#chsh -s

查看自己或某人UID/GID信息:

#id 

返回信息中groups为有效用户组

新增用户组命令:

#groupadd 用户组名

修改用户组名命令:

#groupmod -n 名称

删除用户组命令:

#groupdel 用户组名

设置用户组密码命令:

#gpasswd 用户组名

如果gpasswd加上参数则有其他功能

设置用户组管理员命令:

#gpasswd -A 用户名 用户组名

添加某帐号到组命令:

#gpasswd -M 用户名 用户组名

从组中删除某帐号命令:

#gpasswd -d 用户名 用户组名

passwd相关参数操作:

-l 锁用户

-u 解锁用户

-n 天数  密码不可改天数

-x 天数  密码过期天数

-w 天数  警告天数

 文件权限知识

先看个实例:

#ls -al

ls -al 命令是列出目录的所有文件,包括隐藏文件。隐藏文件的文件名之一个字符为’.’

-rw-r–r–  1 root root4:54 gtkrc-1.2-gnome2

-rwroot root4:54 ICEauthority

-rwroot root0:02 .lesshst

drwxroot root4:54 .metacity

drwxr-xr-x  3 root root4:54 nautilus

列表的列定义如下:

      

权限属性列表为10个字符:

之一个字符表示文件类型,d为目录 -为普通文件 l为连接 b为可存储的接口设备 c为键盘鼠标等输入设备

2、3、4个字符表示所有者权限,5、6、7个字符表示所有者同组用户权限,8、9、10为其他用户权限

第二个字符表示所有者读权限,如果有权限则为r,没有权限则为-

第三个字符表示所有者写权限,如果有权限则为w,没有权限则为-

第四个字符表示所有者执行权限,如果有权限则为x,没有权限则为-

第五个字符表示所有者同组用户读权限,如果有权限则为r,没有权限则为-

第六个字符表示所有者同组用户写权限,如果有权限则为w,没有权限则为-

第七个字符表示所有者同组用户执行权限,如果有权限则为x,没有权限则为-

第八个字符表示其他非同组读权限,如果有权限则为r,没有权限则为-

第九个字符表示其他非同组写权限,如果有权限则为w,没有权限则为-

第十个字符表示其他非同组执行权限,如果有权限则为x,没有权限则为-

修改文件所属组命令:

#chgrp  组名 文件名

其中-R为递归设置

修改文件的所有者和组命令:

#chown  用户 文件名

修改文件访问权限命令:

#chmod  0777 文件名

至此,用户、文件和权限相关的东西,就总结个7788了,接下来的就是,平常要敢于用各种命令,勤于看看本篇总结啦。

====================================================================

linux 查看用户及用户组的方法

whois

功能说明:查找并显示用户信息。

语  法:whois 

补充说明:whois指令会去查找并显示指定帐号的用户相关信息,因为它是到Network Solutions 的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。

whoami

功能说明:先似乎用户名称。

语  法:whoami 

补充说明:显示自身的用户名称,本指令相当于执行”id -un”指令。

参  数:

–help  在线帮助。

–version  显示版本信息。

who

功能说明:显示目前登入系统的用户信息。

语  法:who 

补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的    终端机,登入时间以及从何处登入或正在使用哪个X显示器。

参  数:

-H或–heading  显示各栏位的标题信息列。

-i或-u或–idle  显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成”.”号,如果该用户已超过24小时没有任何动作,则标示出”old”字符串。

-m  此参数的效果和指定”am i”字符串相同。

-q或–count  只显示登入系统的帐号名称和总人数。

-s  此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题。

-w或-T或–mesg或–message或–writable  显示用户的信息状态栏。

–help  在线帮助。

–version  显示版本信息。

w

功能说明:显示目前登入系统的用户信息。

语  法:w 

补充说明:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w

指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

参  数:

-f  开启或关闭显示用户从何处登入系统。

-h  不显示各栏位的标题信息列。

-l  使用详细格式列表,此为预设值。

-s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。

-u  忽略执行程序的名称,以及该程序耗费CPU时间的信息。

-V  显示版本信息。

finger命令

finger 命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用的格式,不过要查询的网络主机需要运行finger守护进程。

该命令的一般格式为:

finger   

命令中各选项的含义如下:

-s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。

-l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。

-p 除了不显示.plan文件和.project文件以外,与-l选项相同。 

在本地机上使用finger命令。

$ finger xxq

Login: xxq Name:

Directory: /home/xxq Shell: /bin/bash

Last login Thu Jan 1 21:43 (CST) on tty1

No mail.

No Plan. 

$ finger

Login Name Tty Idle Login Time Office Office Phone

root root *1 28 Nov 25 09:17

……

/etc/group文件包含所有组

/etc/shadow和/etc/passwd系统存在的所有用户名

修改当前用户所属组的方法

usermod 或者可以直接修改 /etc/paaawd文件即可

vlock(virtual console lock)

功能说明:锁住虚拟终端。

语  法:vlock 

补充说明:执行vlock指令可锁住虚拟终端,避免他人使用。

参  数:

-a或–all  锁住所有的终端阶段作业,如果您在全屏幕的终端中使用本参数,则会将用键盘

切换终端机的功能一并关闭。

-c或–current  锁住目前的终端阶段作业,此为预设值。

-h或–help  在线帮助。

-v或–version  显示版本信息。

usermod

功能说明:修改用户帐号。

语  法:usermod 

补充说明:usermod可用来修改用户帐号的各项设定。

参  数:

-c  修改用户帐号的备注文字。

-d登入目录>  修改用户登入时的目录。

-e  修改帐号的有效期限。

-f  修改在密码过期后多少天即关闭该帐号。

-g  修改用户所属的群组。

-G  修改用户所属的附加群组。

-l  修改用户帐号名称。

-L  锁定用户密码,使密码无效。

-s  修改用户登入后所使用的shell。

-u  修改用户ID。

-U  解除密码锁定。

userdel

功能说明:删除用户帐号。

语  法:userdel 

补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。

参  数:

-f  删除用户登入目录以及目录中所有文件。

userconf

功能说明:用户帐号设置程序。

语  法:userconf 

补充说明:userconf实际上为linuxconf的符号连接,提供图形界面的操作方式,供管理员建立与管理各类帐号。若不加任何参数,即进入图形界面。

参  数:

–addgroup  新增群组。

–adduser  新增用户帐号。

–delgroup  删除群组。

–deluser  删除用户帐号。

–help  显示帮助。

useradd

功能说明:建立用户帐号。

语  法:useradd  或 useradd -D 

补充说明:useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

参  数:

-c  加上备注文字。备注文字会保存在passwd的备注栏位中。 

-d  指定用户登入时的启始目录。

-D  变更预设值.

-e  指定帐号的有效期限。

-f  指定在密码过期后多少天即关闭该帐号。

-g  指定用户所属的群组。

-G  指定用户所属的附加群组。

-m  自动建立用户的登入目录。

-M  不要自动建立用户的登入目录。

-n  取消建立以用户名称为名的群组.

-r  建立系统帐号。

-s   指定用户登入后所使用的shell。

-u  指定用户ID。

【步骤一】cat /etc/passwd

cat /etc/passwd查看所有的用户信息,详情如下图

【步骤二】cat /etc/passwd|grep

用户名

cat /etc/passwd|grep 用户名,用于查找某个用户,如下图

【步骤三】cat /etc/group

cat /etc/group查看所有耐局组信息,如下图

【步骤四】cat /etc/group|grep 组名

cat /etc/group|grep 组名,用于查找某个用户组,如下图

【步骤五】用户和组常用命令

groups 查看当前登录用户和亩粗的组内成员

groups test 查看test用户所在的组,以及组内成员

whoami 查看当前登录用户名

1.如果能记住命令,其实这挺简单的,启动终端(

命令行

)后执行命令:id 用户名,用户名替换成你要查询的用户.小编这里以查看root为例;

2.在命令执行后的结果中 组=后面的就是用户所在的分组.这里小编用的唤镇是Ubuntu系统,和其他Linux发行版是一样的;

3.要判断用户是否存在同样用id命令就可以了。

044、查看用户组下面有哪些用户

通用:核型知 awk -F “:” ‘/组名称/{print $4}’ /etc/group

演示租坦:awk -F “:” ‘/root/{print $4}’ /etc/改消group

查看linux都有哪些用户的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于查看linux都有哪些用户,轻松掌握!如何查看Linux系统中的用户列表?,linux怎么查看用户组里有哪些用户的信息别忘了在本站进行查找喔。


数据运维技术 » 轻松掌握!如何查看Linux系统中的用户列表? (查看linux都有哪些用户)