查看linux中所有用户的三种方式学习目标:

提示:通过使用 /etc/passwd 文件,getent 命令,compgen 命令这三种方法查看系统中用户的信息

用户信息存放位置:

提示:Linux 系统中用户信息存放在 /etc/passwd 文件中

这是一个包含每个用户基本信息的文本文件。当我们在系统中创建一个用户,新用户的详细信息就会被添加到这个文件中。

/etc/passwd 文件将每个用户的基本信息记录为文件中的一行,一行中包含 7 个字段。

/etc/passwd 文件的一行代表一个单独的用户。该文件将用户的信息分为 3 个部分。

  • 第 1 部分:root 用户信息
  • 第 2 部分:系统定义的账号信息
  • 第 3 部分:真实用户的账户信息
    第一部分是 root 账户,这代表管理员账户,对系统的每个方面都有完全的权力。

第二部分是系统定义的群组和账户,这些群组和账号是正确安装和更新系统软件所必需的。

第三部分在最后,代表一个使用系统的真实用户。

在创建新用户时,将修改以下 4 个文件。

  • /etc/passwd: 用户账户的详细信息在此文件中更新。
  • /etc/shadow: 用户账户密码在此文件中更新。
  • /etc/group: 新用户群组的详细信息在此文件中更新。
  • /etc/gshadow: 新用户群组密码在此文件中更新。

使用 /etc/passwd 文件

使用任何一个像 cat、more、less 等文件操作命令来打印 Linux 系统上创建的用户列表。

/etc/passwd 是一个文本文件,其中包含了登录 Linux 系统所必需的每个用户的信息。它保存用户的有用信息,如用户名、密码、用户 ID、群组 ID、用户 ID 信息、用户的家目录和 Shell 。

/etc/passwd 文件将每个用户的详细信息写为一行,其中包含七个字段,每个字段之间用冒号 : 分隔:

# cat /etc/passwd

7 个字段的详细信息如下。

  • 用户名 (magesh): 已创建用户的用户名,字符长度 1 个到 12 个字符。

  • 密码(x):代表加密密码保存在 /etc/shadow 文件中。

  • 用户 ID(506):代表用户的 ID 号,每个用户都要有一个唯一的 ID 。UID 号为 0 的是为 root 用户保留的,UID 号 1 到 99 是为系统用户保留的,UID 号 100-999 是为系统账户和群组保留的。

  • 群组 ID (507):代表群组的 ID 号,每个群组都要有一个唯一的 GID ,保存在 /etc/group文件中。

  • 用户信息(2g Admin - Magesh M):代表描述字段,可以用来描述用户的信息(LCTT 译注:此处原文疑有误)。

  • 家目录(/home/mageshm):代表用户的家目录。

  • Shell(/bin/bash):代表用户使用的 shell 类型。
    你可以使用 awkcut 命令仅打印出 Linux 系统中所有用户的用户名列表。显示的结果是相同的。

  • awk -F':' '{ print $1}' /etc/passwd
    or

  • cut -d: -f1 /etc/passwd


使用 getent 命令:

getent 命令显示 Name Service Switch 库支持的数据库中的条目。这些库的配置文件为 /etc/nsswitch.conf

getent 命令显示类似于/etc/passwd文件的用户详细信息,它将每个用户详细信息显示为包含七个字段的单行。`

# getent passwd
  • 7 个字段的详细信息如上所述。(LCTT 译注:此处内容重复,删节)

你同样可以使用 awkcut 命令仅打印出 Linux 系统中所有用户的用户名列表。显示的结果是相同的。

使用 compgen 命令

compgen 是 bash 的内置命令,它将显示所有可用的命令,别名和函数。

# compgen -u
root
bin
daemon
adm
lp
sync
shutdown
halt

【查看linux中所有用户的三种方式】相关推荐

  1. linux su root 免密码,Ubuntu 18.04.2切换到root用户的三种方式及设置免密码操作

    本文介绍在Ubuntu 18.04.2系统中切换root用户的三种方式及在Ubuntu 18.04.2系统中设置普通用户切换root用户免密码操作. Ubuntu 18.04.2系统中切换root用户 ...

  2. java中实现多线程的三种方式

    java中实现多线程的三种方式 1.实现多线程的方法: 在java中实现多线程的两途径:继承Thread类,实现Runable接口(Callable) 2.继承Thread类实现多线程: ​ 继承类T ...

  3. Django中Model继承的三种方式

    Django中Model继承的三种方式 Django中Model的继承有三种: 1.抽象继承 2.多表继承 3.proxy model(代理model) 1.抽象继承 第一种抽象继承,创建一个通用父类 ...

  4. android获取自定义属性,android 自定义控件中获取属性的三种方式(转)

    第一种方法,直接设置属性值,通过attrs.getAttributeResourceValue拿到这个属性值. (1)在xml文件中设置属性值 android:layout_width="f ...

  5. UE4学习-在虚幻编辑器中打开VS的三种方式

    文章目录 方式一 方式二 方式三 在虚幻编辑器中打开VS的三种方式 方式一 在文件浏览器这里,选择C++类,然后在文件夹内,找到一个和截图中类似的图标,双击,即打开vs,并在vs中打开这个类的代码. ...

  6. Java中实现接口的三种方式您造吗?

    本文介绍了Java中实现接口的三种方式:常规实现方式.匿名内部类和 Lambda表达式实现方式.希望已经了解的同学可以重新温习一下,不了解的同学则从中受益! Java中接口最常规的实现方式 同学们都会 ...

  7. java类初始数组_java中数组初始化的三种方式是什么

    java中数组初始化的三种方式是:1.静态初始化,如[int a[] = {2, 0, 1, 9, 2020}]:2.动态初始化,如[int[] c = new int[4]]:3.默认初始化,如[i ...

  8. java中Map遍历的三种方式

    Java中Map遍历的三种方式 前言 一:在for循环中使用entries实现Map的遍历: 二:在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能 ...

  9. 【Linux】部署Springboot项目到Linux服务器以及linux服务器下载文件的三种方式详解

    Linux学习之路 初识Linux Linux内核 由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写 Linux 是一套免费使用和自由传播的类Unix操作系 ...

最新文章

  1. Android Studio Day03-1(Android studio 系统界面简介)
  2. linux主节点启动nfs,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  3. 【推荐】极简数独1.0源码
  4. 基于php和服务器推技术的web即时聊天系统,基于php和服务器推技术的Web即时聊天系统...
  5. ReactNative环境配置
  6. Oracle 备份与还原
  7. 【已解决】输入mysqld -install时报错Install/Remove of the Service Denied
  8. 【字典树】添加和查找单词
  9. VueJS 组件参数名命名方式和前台显示
  10. udhcpc遇到问题
  11. C语言中期报告模板,毕业设计中期报告模板.doc
  12. WinRAR的注册破解
  13. springboot2.0+springDataJPA报错Could not obtain identifier
  14. VScode输入感叹号时,没有出现模板
  15. c# MD5加密
  16. 360 2019校招笔试题第一题 表面积
  17. 华南产业集团发力数字经济,城链科技发布会成功召开
  18. 120.阿克曼(Ackmann)函数A(m,n)中,m,n定义域是非负整数(m<=3,n<=10),计算如下函数值
  19. 21世纪十大热门编程语言大集合,看你适合哪一种?
  20. Uniforms(uniform变量)

热门文章

  1. 织梦dedecms深蓝色室内装修设计公司网站模板(自适应手机移动端)
  2. 女程序员过三奔四 你的名字是迷茫 /孩子是我幸福的源泉
  3. activit6.0 根据当前节点信息获取下一步的审批人信息
  4. php安卓和苹果兼容问题,javascript - 一个简单的H5页面在安卓手机上能跑,在苹果手机上和谷歌浏览器上却出错。...
  5. Linux中Vi编辑器和Vim编辑器
  6. QQ微派狼人杀经验分享及无限卡房教程(萌新逆袭成为绝顶高手)
  7. 《Apache服务》
  8. iPhone 本地化支持
  9. 论文阅读——学习与知识图交互背后的意图以供推荐
  10. pybitcointools源码分析之BIP32实现