Cara melihat semua pengguna dalam Linux: 1. Gunakan perintah operasi cat dan fail lain untuk membaca kandungan fail "/etc/passwd" dan mencetak senarai pengguna yang dibuat pada sistem Linux. 2. Gunakan arahan getent untuk melihat sintaks "getent passwd" untuk memaparkan butiran pengguna yang serupa dengan fail "/etc/passwd". 3. Gunakan arahan compgen dengan sintaks "compgen -u".
Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.
Seperti yang kita sedia maklum, maklumat pengguna dalam sistem Linux disimpan dalam fail /etc/passwd.
Ini ialah fail teks yang mengandungi maklumat asas tentang setiap pengguna. Apabila kami mencipta pengguna dalam sistem, butiran pengguna baharu ditambahkan pada fail ini. Fail
/etc/passwd merekodkan maklumat asas setiap pengguna sebagai baris dalam fail dan setiap baris mengandungi 7 medan.
/etc/passwd Baris dalam fail mewakili pengguna individu. Fail ini membahagikan maklumat pengguna kepada 3 bahagian.
* 第 1 部分:`root` 用户信息 * 第 2 部分:系统定义的账号信息 * 第 3 部分:真实用户的账户信息
Bahagian pertama ialah akaun root, ini mewakili akaun pentadbir dan mempunyai kuasa penuh ke atas setiap aspek sistem.
Bahagian kedua ialah kumpulan dan akaun yang ditentukan sistem yang diperlukan untuk memasang dan mengemas kini perisian sistem dengan betul.
Bahagian ketiga berada di penghujung dan mewakili pengguna sebenar yang menggunakan sistem.
Apabila mencipta pengguna baharu, 4 fail berikut akan diubah suai.
* `/etc/passwd`: 用户账户的详细信息在此文件中更新。 * `/etc/shadow`: 用户账户密码在此文件中更新。 * `/etc/group`: 新用户群组的详细信息在此文件中更新。 * `/etc/gshadow`: 新用户群组密码在此文件中更新。
Kaedah 1: Gunakan /etc/passwd
fail
Gunakan mana-mana arahan manipulasi fail seperti cat, lebih, kurang dsb. untuk mencetak senarai pengguna yang dibuat pada sistem Linux.
/etc/passwd ialah fail teks yang mengandungi maklumat untuk setiap pengguna yang diperlukan untuk log masuk ke sistem Linux. Ia menyimpan maklumat berguna pengguna seperti nama pengguna, kata laluan, ID pengguna, ID kumpulan, maklumat ID pengguna, direktori rumah pengguna dan shell. Fail
/etc/passwd menulis butiran setiap pengguna sebagai satu baris, mengandungi tujuh medan, setiap satunya dipisahkan oleh titik bertindih ::
# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin 2gadmin:x:500:10::/home/viadmin:/bin/bash apache:x:48:48:Apache:/var/www:/sbin/nologin zabbix:x:498:499:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin mysql:x:497:502::/home/mysql:/bin/bash zend:x:502:503::/u01/zend/zend/gui/lighttpd:/sbin/nologin rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin 2daygeek:x:503:504::/home/2daygeek:/bin/bash named:x:25:25:Named:/var/named:/sbin/nologin mageshm:x:506:507:2g Admin - Magesh M:/home/mageshm:/bin/bash
Perincian 7 medan tersebut adalah seperti berikut.
你可以使用 awk 或 cut 命令仅打印出 Linux 系统中所有用户的用户名列表。显示的结果是相同的。
# awk -F':' '{ print $1}' /etc/passwd or # cut -d: -f1 /etc/passwd root bin daemon adm lp sync shutdown halt mail ftp postfix sshd tcpdump 2gadmin apache zabbix mysql zend rpc 2daygeek named mageshm
方法 2 :使用 getent
命令
getent 命令显示 Name Service Switch 库支持的数据库中的条目。这些库的配置文件为 /etc/nsswitch.conf。
getent 命令显示类似于 /etc/passwd 文件的用户详细信息,它将每个用户详细信息显示为包含七个字段的单行。
# getent passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin 2gadmin:x:500:10::/home/viadmin:/bin/bash apache:x:48:48:Apache:/var/www:/sbin/nologin zabbix:x:498:499:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin mysql:x:497:502::/home/mysql:/bin/bash zend:x:502:503::/u01/zend/zend/gui/lighttpd:/sbin/nologin rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin 2daygeek:x:503:504::/home/2daygeek:/bin/bash named:x:25:25:Named:/var/named:/sbin/nologin mageshm:x:506:507:2g Admin - Magesh M:/home/mageshm:/bin/bash
7 个字段的详细信息如上所述。(LCTT 译注:此处内容重复,删节)
你同样可以使用 awk 或 cut 命令仅打印出 Linux 系统中所有用户的用户名列表。显示的结果是相同的。
方法 3 :使用 compgen
命令
compgen 是 bash 的内置命令,它将显示所有可用的命令,别名和函数。
# compgen -u root bin daemon adm lp sync shutdown halt mail ftp postfix sshd tcpdump 2gadmin apache zabbix mysql zend rpc 2daygeek named mageshm
相关推荐:《Linux视频教程》
Atas ialah kandungan terperinci Bagaimana untuk melihat semua pengguna dalam linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!