วิธีแสดงรายการผู้ใช้ทั้งหมดใน Linux

วิธีแสดงรายการผู้ใช้ทั้งหมดใน Linux

ผู้ใช้เป็นองค์ประกอบที่สำคัญที่สุดในระบบลินุกซ์ Linux ให้คำสั่งในตัวแก่ผู้ดูแลระบบที่อนุญาตให้จัดการผู้ใช้ได้อย่างมีประสิทธิภาพ มีหนึ่งสำหรับสร้างผู้ใช้ ลบผู้ใช้ และเปลี่ยนสิทธิ์ของผู้ใช้ แต่แล้วการแสดงรายชื่อผู้ใช้ทั้งหมดที่มีอยู่ในระบบในปัจจุบันล่ะ?





ในบทความนี้ เราจะพูดถึงวิธีรับรายชื่อผู้ใช้ทั้งหมดใน Linux พร้อมกับคำแนะนำสั้น ๆ เพื่อตรวจสอบว่ามีผู้ใช้อยู่ในระบบหรือไม่





วิธีแสดงรายการผู้ใช้ทั้งหมดใน Linux

เมื่อคุณสร้างผู้ใช้ใหม่ ชื่อผู้ใช้ รหัสผ่าน และรายละเอียดอื่นๆ จะถูกจัดเก็บไว้ในไฟล์เฉพาะบนเครื่อง Linux โชคดีที่ Linux ให้คุณอ่านและแก้ไขไฟล์ดังกล่าวได้โดยไม่มีข้อจำกัด เมื่อใช้ไฟล์เหล่านี้ คุณจะทราบข้อมูลที่เกี่ยวข้องกับผู้ใช้ เช่น ชื่อผู้ใช้ จำนวนผู้ใช้ และอื่นๆ





การใช้ไฟล์ Passwd

NS รหัสผ่าน file เป็นไฟล์ข้อความที่มีบันทึกรหัสผ่านของผู้ใช้ทั้งหมดที่มีอยู่ในระบบของคุณ ไฟล์นี้อยู่ใน /ฯลฯ ไดเร็กทอรีในที่จัดเก็บในเครื่องของคุณและมีข้อมูลต่อไปนี้:

  1. ชื่อผู้ใช้
  2. รหัสผ่านที่เข้ารหัส
  3. ID ผู้ใช้
  4. ID กลุ่มผู้ใช้
  5. ชื่อเต็ม
  6. NS /บ้าน ไดเรกทอรีของผู้ใช้
  7. เชลล์การเข้าสู่ระบบของผู้ใช้

พิมพ์ แมว /etc/passwd หรือ น้อยกว่า /etc/passwd ในเทอร์มินัลของคุณเพื่ออ่านไฟล์ข้อความ เปิด /etc/passwd file จะสร้างผลลัพธ์ที่มีลักษณะดังนี้



root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

ผลลัพธ์ดังกล่าวประกอบด้วยเจ็ดฟิลด์ที่มีข้อมูลที่เกี่ยวข้องกับผู้ใช้ ฟิลด์เหล่านี้ถูกคั่นด้วยตัวคั่น---ในกรณีนี้คือทวิภาค แต่ละแถวในเอาต์พุตหมายถึงผู้ใช้คนเดียว

ในการรับรายชื่อชื่อผู้ใช้ทั้งหมดด้วยความช่วยเหลือของ รหัสผ่าน ไฟล์:





awk -F: '{ print }' /etc/passwd

Awk เป็นยูทิลิตี้บรรทัดคำสั่งที่อนุญาตให้ผู้ใช้ Linux สร้างโปรแกรม 'บรรทัดเดียว' อย่างง่ายที่ดำเนินการอย่างรวดเร็วจากเทอร์มินัล ในรหัสที่กล่าวถึงข้างต้น:

  1. -NS ย่อมาจาก Field Seperator เนื่องจากอักขระทวิภาคเป็นตัวคั่นใน /etc/passwd ไฟล์ เราส่งโคลอนเป็นตัวคั่นในคำสั่ง awk
  2. { พิมพ์ } สั่งให้ระบบพิมพ์ช่องแรก ในกรณีนี้ ฟิลด์แรกคือชื่อผู้ใช้ของผู้ใช้
  3. /etc/passwd ไฟล์มีข้อมูลที่เกี่ยวข้องกับผู้ใช้

การดำเนินการคำสั่งดังกล่าวจะส่งออกชื่อผู้ใช้ของผู้ใช้ทั้งหมด ตั้งแต่ /etc/passwd ไฟล์มีผู้ใช้ระบบ ผลลัพธ์จะรวมชื่อผู้ใช้ด้วย





root
daemon
bin
sys
sync
games
man

คุณสามารถปรับแต่งคำสั่ง awk เล็กน้อยเพื่อพิมพ์ชื่อเต็มของผู้ใช้ พิมพ์คำสั่งต่อไปนี้เพื่อแสดงชื่อเต็มของผู้ใช้ใน Linux:

awk -F: '{ print }' /etc/passwd

เนื่องจากผู้ใช้ระบบมีชื่อผู้ใช้และชื่อเต็มเหมือนกัน คุณจะไม่สังเกตเห็นความแตกต่างในผลลัพธ์ เฉพาะผู้ใช้ที่คุณเพิ่มลงในระบบของคุณเท่านั้นที่จะมีชื่อผู้ใช้และชื่อเต็มต่างกัน

หรือคุณสามารถใช้ ตัด แทนคำสั่ง awk ไวยากรณ์ของการตัดค่อนข้างคล้ายกับคำสั่ง awk

ในการพิมพ์ชื่อผู้ใช้ใน Linux โดยใช้ cut:

cut -d: f1 /etc/passwd

ที่นี่, -NS เป็นตัวคั่น f1 หมายถึงฟิลด์แรก (ชื่อผู้ใช้) และ /etc/passwd เป็นไฟล์ข้อความที่มีข้อมูล

วิธีทำทางลัดบน iphone

ในการพิมพ์ชื่อของผู้ใช้โดยใช้การตัด:

cut -d: f5 /etc/passwd

ในทำนองเดียวกัน คุณสามารถส่งออกฟิลด์อื่นๆ จาก /etc/passwd ไฟล์โดยเพียงแค่แทนที่ f5 กับ f1-f7 .

ที่เกี่ยวข้อง: วิธีเปลี่ยนรหัสผ่าน Linux ของคุณ

แสดงรายการผู้ใช้ด้วย getent Command

คำสั่ง getent พิมพ์เนื้อหาของไฟล์ข้อความสำคัญที่ทำหน้าที่เป็นฐานข้อมูลสำหรับระบบ ไฟล์เช่น /etc/passwd และ /etc/nsswitch.conf มีข้อมูลที่เกี่ยวข้องกับผู้ใช้และเครือข่ายตามลำดับและสามารถอ่านได้โดยใช้คำสั่ง getent

คุณจะออกจากระบบ netflix ได้อย่างไร

ในการพิมพ์เนื้อหาของ /etc/passwd ไฟล์โดยใช้ getent:

getent passwd

ผลลัพธ์จะมีเจ็ดฟิลด์ที่แตกต่างกันโดยคั่นด้วยอักขระทวิภาค แต่ละช่องสงวนไว้สำหรับข้อมูลเฉพาะรวมถึงชื่อผู้ใช้และเส้นทางไดเรกทอรีหลักของผู้ใช้

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

คุณสามารถโยงคำสั่ง getent ด้วย awk หรือ cut เพื่อรับรายการชื่อผู้ใช้เท่านั้น

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f1

ในการพิมพ์ชื่อเต็มของผู้ใช้:

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f5

ตรวจสอบว่ามีผู้ใช้อยู่หรือไม่

ในบางสถานการณ์ คุณอาจต้องการตรวจสอบว่ามีผู้ใช้อยู่บนระบบ Linux ของคุณหรือไม่ NS กริป คำสั่งมีประโยชน์เมื่อคุณต้องการดึงรูปแบบข้อความเฉพาะจากไฟล์

คุณสามารถใช้คำสั่งใดๆ ต่อไปนี้เพื่อตรวจสอบการมีอยู่ของผู้ใช้

compgen -u | grep username
getent passwd | grep username

หากมีผู้ใช้อยู่ ข้อมูลการเข้าสู่ระบบที่เกี่ยวข้องกับพวกเขาจะแสดงบนหน้าจอ ในทางกลับกัน หากผู้ใช้ไม่อยู่ในระบบ จะเกิดข้อผิดพลาดขึ้น

วิธีตรวจสอบว่ามีผู้ใช้อยู่บนระบบโดยไม่ใช้ grep หรือไม่:

getent passwd username

คุณยังสามารถไปป์ getent หรือ compgen สั่งกับ กริป และ โยนออก เพื่อแสดงเอาต์พุตที่กำหนดเอง

getent passwd | grep -q username && echo 'User found' || echo 'User not found'
compgen -u | grep -q username && echo 'User found' || echo 'User not found'

คำสั่งด้านบนจะพิมพ์ 'พบผู้ใช้' หากมีผู้ใช้อยู่ในระบบ และ 'ไม่พบผู้ใช้' หากไม่มี

นับจำนวนผู้ใช้บนระบบ

ในการนับจำนวนผู้ใช้ที่มีอยู่ในระบบ Linux:

compgen -u | wc -l
getent passwd | wc -l

ในคำสั่งข้างต้น compgen และ getent มีหน้าที่แสดงรายการที่มีผู้ใช้ทั้งหมดและข้อมูลอื่น ๆ ที่เกี่ยวข้องกับพวกเขา NS ห้องน้ำ หมายถึงการนับจำนวนคำและใช้เพื่อนับจำนวนคำหรือบรรทัดในผลลัพธ์ NS -NS ธงหมายถึง เส้น .

การตรวจสอบบัญชีผู้ใช้ใน Linux

ผู้ดูแลระบบ Linux ทุกคนควรรู้ว่าพวกเขาสามารถจัดการและดูแลผู้ใช้รายอื่นในระบบได้อย่างไร การเรียนรู้คำสั่ง Linux ที่ให้คุณสร้าง ลบ ควบคุม และแสดงรายการผู้ใช้รายอื่นเป็นวิธีที่ดีในการเริ่มต้นใช้งานการจัดการผู้ใช้

การทำความคุ้นเคยกับสภาพแวดล้อม Linux ควรเป็นเป้าหมายแรกของคุณ หากคุณเพิ่งเริ่มต้น มีบางสิ่งที่คุณต้องทำทันทีหลังจากติดตั้งการแจกจ่าย Linux ครั้งแรกของคุณ การเรียนรู้คำสั่งพื้นฐานบางอย่างถือเป็นหนึ่งในคำสั่งเหล่านี้ และจำเป็นสำหรับการทำงานคอมพิวเตอร์อย่างง่ายบน Linux

แบ่งปัน แบ่งปัน ทวีต อีเมล วิธีเริ่มต้นใช้งาน Linux

สนใจใช้ Linux แต่ไม่รู้จะเริ่มตรงไหน? เรียนรู้วิธีใช้ Linux ตั้งแต่การเลือก distro ไปจนถึงการติดตั้งแอพ

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • ลินุกซ์
  • ลินุกซ์
เกี่ยวกับผู้เขียน Deepesh Sharma(79 บทความที่ตีพิมพ์)

Deepesh เป็นบรรณาธิการรุ่นเยาว์สำหรับ Linux ที่ MUO เขาเขียนคู่มือข้อมูลบน Linux โดยมุ่งหวังที่จะมอบประสบการณ์อันแสนสุขให้กับผู้มาใหม่ทุกคน ไม่แน่ใจเกี่ยวกับภาพยนตร์ แต่ถ้าคุณต้องการพูดคุยเกี่ยวกับเทคโนโลยี เขาเป็นคนของคุณ ในเวลาว่าง คุณจะพบว่าเขาอ่านหนังสือ ฟังเพลงแนวต่างๆ หรือเล่นกีตาร์

เพิ่มเติมจาก Deepesh Sharma

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก