Linux查看用户

494 阅读2分钟

查找所有用户比较常用的有两个目录: /etc/passwd 可以查看用户名、用户组、家目录等信息 /etc/shadow 可以查看用户密码、有效期设置等信息

查看当前用户

id

image.png id username(查看指定用户)

w image.png whoami

image.png

查看所有用户

cat /etc/passwd

image.png 这里显示的格式:

  1. 每一行代表一个用户
  2. 从左往右依次代表: 用户名:密码:用户ID(UID):用户群组ID(GID):用户备注信息:家目录:用户使用的shell类型
  3. 这里的 x 代表的是密码,具体密码是什么,要看另一个文件,/etc/shadow
  4. UID=0,是root账号,1-99是系统用户,100-999是系统账户和群组,1000及以上就是后面自定义新增的用户了
  5. 最后一段,如果为 /sbin/nologin/ 则不允许登录

cat /etc/shadow

这个文件仅root权限的用户可以读,查出来的结果跟上面一样,也是一行代表一个用户,分9段信息,也是:拼接\

用户名:加密密码:最近一次修改密码时间:密码最小修改间隔的天数:密码有效期:密码到期前提醒:密码过期后宽限天数:账号失效日期:保留字段

  1. 用户名
  2. 密码:加密过的密码,SHA512散列加密算法;!*或者空,代表当前是没有密码的,无法登录
  3. 最近一次修改密码时间
  4. 密码最小修改间隔天数:0代表可以随时修改密码
  5. 密码有效期:99999代表长期有效
  6. 到期前提醒:依赖有效期,代表几天后开始提醒
  7. 宽限天数:密码过期后的宽限天数,宽限期内可以正常登录,超过宽限期后会禁用
  8. 账号失效日期
  9. 保留字段,没意义

没有设置密码的时候:

test:!:19788:0:99999:7:::

设置了密码:

test:$6$o9qaYcyyRW9WSmE2$7qkXTVW01SkJNfvZlasQBQSbO0grP.y.l9GASsM0yiOuJVi4H6EdG9nof8QvdOQ6suTxiUnmuLcZSq5coPOxF1:19788:0:99999:7:::

查看指定用户

cat /etc/shadow | grep username

添加新用户

命令格式:useradd username

useradd test
cat /etc/passwd

最后一行会显示 test:x:1001:1002::/home/test:/bin/sh
新建用户的时候也会为用户添加一个同名目录test

添加密码

passwd username

删除密码

删除密码后,就是空口令用户 passwd -d username
使用“awk -F: '2=="" {print 1}' /etc/shadow”可以查询出所有空口令的用户名

禁用用户

passwd -l username

删除用户

userdel -r username