• [高清组图]环广西赛:参赛车队赛前适应训练 2018-08-31
  • [高清组图]特谢拉复出吴曦失单刀 苏宁0-0平斯威 2018-08-31
  • [高清组图]潜水偶遇座头鲸 亲密互动玩起“水中击掌” 2018-08-31
  • [高清组图]法拉利拍定妆照 维特尔KIMI准备好了 2018-08-31
  • [高清组图]毛剑卿伤退莫雷诺捅射 申花1-0一方 2018-08-31
  • [高清组图]比埃拉双响巴坎布建功 国安5-1富力 2018-08-31
  • [高清组图]武磊世界波胡尔克点射 上港2-0胜申花 2018-08-31
  • [高清组图]武磊2球吕文君建功 上港3-1富力 2018-08-31
  • [高清组图]欧超杯-科斯塔2球 皇马加时赛2-4马竞 2018-08-31
  • [高清组图]格里芬赤膊骑行 休赛期享受二人世界 2018-08-31
  • [视频]【深化改革 重在实效】精准扶贫 四川彝区要拔掉“穷根” 2018-08-31
  • [视频]【深化改革 重在实效】破藩篱促合力 体制创新粘合“两张皮” 2018-08-31
  • [视频]【深化改革 重在实效】激发活力 实现市场准入全程便利化 2018-08-31
  • [视频]【深化改革 重在实效】打通简政放权的“最后一公里” 2018-08-31
  • [视频]【深化改革 重在实效】广东:户籍改革为外来工打开一扇门 2018-08-31
  • 手机版
    你好,游客 登录 注册 搜索
    背景:
    阅读新闻

    列出 Linux 系统上所有用户的 3 种方法

    [日期:2018-08-15] 来源:Linux中国  作者:Linux [字体: ]

    奥门新萄京官方正版 www.arianalance.com 通过使用 /etc/passwd 文件,getent 命令,compgen 命令这三种方法查看系统中用户的信息。

    大家都知道,Linux 系统中用户信息存放在 /etc/passwd 文件中。

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

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

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

    1. *1部分:`root`用户信息
    2. *2部分:系统定义的账号信息
    3. *3部分:真实用户的账户信息

    第一部分是 root 账户,这代表管理员账户,对系统的每个方面都有完全的权力。

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

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

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

    1. *`/etc/passwd`用户账户的详细信息在此文件中更新。
    2. *`/etc/shadow`用户账户密码在此文件中更新。
    3. *`/etc/group`新用户群组的详细信息在此文件中更新。
    4. *`/etc/gshadow`新用户群组密码在此文件中更新。

    ** 建议阅读 : **

     

    方法 1 :使用 /etc/passwd 文件

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

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

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

    1. #cat/etc/passwd
    2. root:x:0:0:root:/root:/bin/bash
    3. bin:x:1:1:bin:/bin:/sbin/nologin
    4. daemon:x:2:2:daemon:/sbin:/sbin/nologin
    5. adm:x:3:4:adm:/var/adm:/sbin/nologin
    6. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    7. sync:x:5:0:sync:/sbin:/bin/sync
    8. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    9. halt:x:7:0:halt:/sbin:/sbin/halt
    10. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    11. ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    12. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    13. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    14. tcpdump:x:72:72::/:/sbin/nologin
    15. 2gadmin:x:500:10::/home/viadmin:/bin/bash
    16. apache:x:48:48:Apache:/var/www:/sbin/nologin
    17. zabbix:x:498:499:ZabbixMonitoringSystem:/var/lib/zabbix:/sbin/nologin
    18. mysql:x:497:502::/home/mysql:/bin/bash
    19. zend:x:502:503::/u01/zend/zend/gui/lighttpd:/sbin/nologin
    20. rpc:x:32:32:RpcbindDaemon:/var/cache/rpcbind:/sbin/nologin
    21. 2daygeek:x:503:504::/home/2daygeek:/bin/bash
    22. named:x:25:25:Named:/var/named:/sbin/nologin
    23. mageshm:x:506:507:2gAdmin-Magesh M:/home/mageshm:/bin/bash

    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 系统中所有用户的用户名列表。显示的结果是相同的。

    1. # awk -F':''{ print $1}'/etc/passwd
    2. or
    3. #cut-d:-f1 /etc/passwd
    4. root
    5. bin
    6. daemon
    7. adm
    8. lp
    9. sync
    10. shutdown
    11. halt
    12. mail
    13. ftp
    14. postfix
    15. sshd
    16. tcpdump
    17. 2gadmin
    18. apache
    19. zabbix
    20. mysql
    21. zend
    22. rpc
    23. 2daygeek
    24. named
    25. mageshm

     

    方法 2 :使用 getent 命令

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

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

    1. # getent passwd
    2. root:x:0:0:root:/root:/bin/bash
    3. bin:x:1:1:bin:/bin:/sbin/nologin
    4. daemon:x:2:2:daemon:/sbin:/sbin/nologin
    5. adm:x:3:4:adm:/var/adm:/sbin/nologin
    6. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    7. sync:x:5:0:sync:/sbin:/bin/sync
    8. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    9. halt:x:7:0:halt:/sbin:/sbin/halt
    10. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    11. ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    12. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    13. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    14. tcpdump:x:72:72::/:/sbin/nologin
    15. 2gadmin:x:500:10::/home/viadmin:/bin/bash
    16. apache:x:48:48:Apache:/var/www:/sbin/nologin
    17. zabbix:x:498:499:ZabbixMonitoringSystem:/var/lib/zabbix:/sbin/nologin
    18. mysql:x:497:502::/home/mysql:/bin/bash
    19. zend:x:502:503::/u01/zend/zend/gui/lighttpd:/sbin/nologin
    20. rpc:x:32:32:RpcbindDaemon:/var/cache/rpcbind:/sbin/nologin
    21. 2daygeek:x:503:504::/home/2daygeek:/bin/bash
    22. named:x:25:25:Named:/var/named:/sbin/nologin
    23. mageshm:x:506:507:2gAdmin-Magesh M:/home/mageshm:/bin/bash

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

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

     

    方法 3 :使用 compgen 命令

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

    1. # compgen -u
    2. root
    3. bin
    4. daemon
    5. adm
    6. lp
    7. sync
    8. shutdown
    9. halt
    10. mail
    11. ftp
    12. postfix
    13. sshd
    14. tcpdump
    15. 2gadmin
    16. apache
    17. zabbix
    18. mysql
    19. zend
    20. rpc
    21. 2daygeek
    22. named
    23. mageshm

    via: https://www.2daygeek.com/3-methods-to-list-all-the-users-in-linux-system/

    作者:Magesh Maruthamuthu 选题:lujun9972 译者:SunWave 校对:wxy

    本文由 LCTT 原创编译,Linux中国 荣誉推出

    Linux公社的RSS地址:http://www.arianalance.com/rssFeed.aspx

    本文永久更新链接地址http://www.arianalance.com/Linux/2018-08/153523.htm

    linux
    相关资讯       Linux系统用户查看 
    本文评论   查看全部评论 (0)
    表情: 表情 姓名: 字数

           

    评论声明
    • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
    • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
    • 本站管理人员有权保留或删除其管辖留言中的任意内容
    • 本站有权在网站内转载或引用您的评论
    • 参与本评论即表明您已经阅读并接受上述条款