如何查询linux系统中所有用户的用户名和密码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查询linux系统中所有用户的用户名和密码相关的知识,希望对你有一定的参考价值。
查询linux系统中所有用户的用户名和密码的方法如下:
1、输入“cat /etc/passwd”命令查看所有的用户信息。
2、输入“cat /etc/passwd|grep 用户名”命令,用于查找某个用户。
3、输入“cat /etc/group”命令,用于查看所有组信息。
4、输入“cat /etc/group|grep 组名”命令,用于查找某个用户组。
5、输入“groups” 查看当前登录用户的组内成员;“groups test” 查看test用户所在的组,以及组内成员;“whoami”查看当前登录用户名。
参考技术A 密码估计是看不到的,不过用户名是可以查看的#cat /etc/passwd |grep -v nologin 排除不能登陆的账号
root:x:0:0:root:/root:/bin/bash root账号
sync:x:5:0:sync:/sbin:/bin/sync 这个是系统账号
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 这个是系统账号
halt:x:7:0:halt:/sbin:/sbin/halt 这个是系统账号
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash 这个是系统账号
user1:x:500:500::/home/smbuser:/bin/bash 用户账号
只显示账号使用下面的命令
# cat /etc/passwd |grep -v nologin |awk -F: 'print $1' 参考技术B 1、用户名和密码的存储位置
存储帐号的文件:/etc/passwd
存储密码的文件:/etc/shadow
2、可以使用cat、more、head、tail以及vim等命令查看或者修改,如下图所示:
比如要查找系统中admin普通用户的密码,则执行:
cat /etc/shadow | grep "admin"
3、注意:/etc/shadow文件中的密码不是明文密码。如上图所示,第1个“:”号后面的即为“口令”字段,存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合./0-9A-Za-z中的字符,则对应的用户不能登录。
所以通过/etc/shadow获取的只是密码加密后的Hash散列值,要获取明文密码,需要自己进行破解。
Linux中如何创建管理及查询用户和组
一、用户账号管理
与用户相关的配置文件有两个,分别是 /etc/passwd 和 /etc/shadow 。前者用于保存用户名称,宿主目录、登录shell等基本信息,后者用于保存用户密码、账号有效期等信息。
/etc/passwd文件的每一行内容中包含了七个用 :分隔的配置字段,从左到右各配置字段的含义分别如下:
- 第一个字段:用户账号的名称,也是登录系统时使用的识别名称;
- 第二个字段:经过加密的用户密码字串,或者密码占位符 “x”;
- 第三个字段:用户账号的UID;
- 第四个字段:所属基本组账号的GID;
- 第五个字段:用户全名,可填写与用户相关的说明信息;
- 第六个字段:宿主目录;
- 第七个字段:登录shell等信息,用户完成登录后使用的shell;
/etc/shadow文件中保存了各用户账号的密码等信息,共九个字段,从左到右各配置字段的含义分别如下:
- 第一个字段:用户账号名称;
- 第二个字段:被加密 过的密码,若显示为 “!!”或星号,则表示为此用户不能登录到系统 ,若为空,则表示该字段不需要密码即可登录到系统。
- 第三个字段:上次修改密码的时间;
- 第四个字段:密码的最短有效天数,就是自本次修改密码后,必须经过该天数才可再次修改密码,默认为0,表示不进行限制;
- 第五个字段:密码的最长有效天数,就是自本次修改密码后,经过该天数后必须再次修改密码,默认为99999,表示不进行限制;
- 第六个字段:提前多少天警告用户密码将过期,默认值为7;
- 第七个字段:在密码过期多少天内禁用此用户;
- 第八个字段:账号失效时间,默认为空,表示账号永久可用;
- 第九个字段:保留字段,目前没有特定用途;
useradd命令——添加用户账号;
useradd的基本命令格式为:useradd 【选项】 用户名
useradd命令中用于设置账号属性的几个常见选项如下:
-u:指定用户的UID,要求该UID号码未被其他用户使用;
-d:指定用户的宿主目录位置,(当和-M一起使用时,不生效);
-e:指定用户账号的失效时间,可使用 yyyy-mm-dd 的日期格式;
-g:指定用具的基本组名(或使用GID号);
-G:指定用户的附加组名(或使用GID号);
-M:不建立宿主目录,即使 etc/login.defs系统配置中已设定要建立宿主目录;
-s:指定用户的登录shell;
用户账号具有可用的登录密码后,就可以从字符终端进行登录了
root用户可以使用passwd命令指定所有用户名为其设置密码 ,但普通用户只能单独执行passwd命令为自己更改密码;
使用passwd命令除了可以修改账号的密码以外,还能够对用户账号进行锁定、解锁,也可以将用户的密码设置为空(无须密码即可登录)。常用的选项如下:
-d:清空用户的密码,仅使用用户名即可登录系统;
-l:锁定用户账户;
-S:查看用户账户的状态(是否被锁定);
-u:解锁用户账号;
usermod命令——修改用户账号属性
- -u:修改用户的GID号;
- -d:修改用户的宿主目录位置;
- -e:修改用户账号的失效时间,可使用YYYY-MM-DD的日期格式;
- -g:修改用户的基本组名;
- -G:修改用户的附加组名;
- -s:指定用户的登录shell;
- -l:更改用户账号的登录名称;
- -L:锁定用户账号;
- -U:解锁用户账号;
userdel命令——删除用户账号
groupadd命令——添加组账号
gpassd命令——添加、设置、删除组成员
-a:添加组成员用户;
-d:删除组成员用户;
-M:一次性添加多个组成员用户;
groupdel——删除组账号
groups命令——查询用户账号所属的组
id——查询用户账号的身份标识
finger命令——查询用户账号的登录属性
w命令——查询当前主机的用户登录情况
以上是关于如何查询linux系统中所有用户的用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章