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

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

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

ทำไมคุณควรตรวจสอบรายชื่อผู้ใช้ Linux ของคุณ

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

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

รายชื่อผู้ใช้ใน /etc/passwd

บัญชีผู้ใช้ของเซิร์ฟเวอร์ Linux ทั้งหมดของคุณมีรายการ อยู่ในไฟล์/etc/passwd แต่ละบรรทัดแสดงถึงผู้ใช้ และมีเจ็ดช่องคั่นด้วยเครื่องหมายทวิภาค ฟิลด์ให้ข้อมูลเกี่ยวกับผู้ใช้

  • ชื่อผู้ใช้.
  • รหัสผ่านที่เข้ารหัส ( xระบุว่ารหัสผ่านอยู่ใน/etc/shadow จริง ๆ )
  • หมายเลขรหัสผู้ใช้ (UID)
  • หมายเลข ID กลุ่มของผู้ใช้ (GID)
  • ชื่อเต็มของผู้ใช้ หากระบุไว้
  • โฮมไดเร็กทอรีของผู้ใช้
  • ล็อกอินเชลล์

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

less /etc/passwd

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

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

less passwd | grep jeff

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

หากคุณไม่ได้รับผลลัพธ์ใดๆ แสดงว่าผู้ใช้นั้นไม่มีอยู่บนเซิร์ฟเวอร์ Linux

ยังคงเป็นข้อมูลจำนวนมาก คุณสามารถตัดให้เหลือแค่ชื่อผู้ใช้ เช่น ใช้ คำสั่ง awkหรือcut :

awk -F: '{print $1}' /etc/passwd cut -d: -f1 /etc/passwd

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

มีแนวโน้มที่จะเข้าใจได้ง่ายกว่ามาก แต่ก็ยังทำให้คุณดูบัญชีผู้ใช้ตามระบบทั้งหมดที่ผสมกับผู้ใช้ที่เป็นมนุษย์ของคุณ

วิธีใช้ getent เพื่อแสดงรายการผู้ใช้

คำสั่งอื่นgetentมีประโยชน์มากกว่ามาก มันแสดงรายการจากฐานข้อมูลใด ๆ ที่กำหนดค่าไว้ ใน ไฟล์/etc/nsswitch.confของเซิร์ฟเวอร์ของ คุณ หนึ่งในนั้นคือฐานข้อมูลpasswd หากต้องการใช้getentเพื่อแสดงรายการผู้ใช้ Linux ทั้งหมด ให้ดำเนินการดังนี้:

getent passwd

เอาต์พุตจะเหมือนกับการใช้ คำสั่ง lessแต่แสดงรายการผู้ใช้ LDAP ใดๆ บนระบบ Linux อีกครั้งหนึ่ง คำสั่ง awkและcut ของเรา สามารถช่วยดูเฉพาะฟิลด์แรกเท่านั้น นั่นคือชื่อผู้ใช้

หากคุณต้องการตรวจสอบว่ามีผู้ใช้รายใดอยู่ในระบบ Linux หรือไม่getentทำให้ง่าย:

getent passwd jeff

อีกครั้ง ไม่มีผลลัพธ์จากคำสั่งนี้บอกคุณว่าไม่มีผู้ใช้

การใช้งานที่ยอดเยี่ยมอีกประการหนึ่งสำหรับgetentคือการค้นหาว่ามีบัญชีผู้ใช้กี่บัญชีบนเซิร์ฟเวอร์ สิ่งนี้ทำได้โดย ไพพ์เอาต์พุตของ getentผ่าน คำสั่ง wcดังนี้:

getent passwd | wc -l

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

อย่างที่คุณเห็น ระบบ Linux ของฉันมีทั้งหมด 48 บัญชี ค่อนข้างน่าสนใจ เนื่องจากฉันเป็นคนเดียวที่ใช้มัน แต่นั่นก็แสดงให้เห็นว่ามีการสร้างบัญชีระบบใน Linux กี่บัญชี

กำจัดผู้ใช้ระบบจากผู้ใช้ปกติ

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

ดังนั้นคุณจะแสดงรายการผู้ใช้ที่เป็นมนุษย์ทั่วไปบนระบบ Linux ได้อย่างไร? สิ่งสำคัญคือต้องเข้าใจว่าเมื่อคุณสร้างผู้ใช้ทั่วไป UID จะถูกกำหนดภายในช่วงของตัวเลข โดยการตรวจสอบ ไฟล์ /etc/login.defsเราสามารถกำหนดช่วงของค่า UID ที่มีให้สำหรับบัญชีผู้ใช้ทั่วไป

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

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

จากผลลัพธ์ ฉันรู้ว่าผู้ใช้ทั่วไปควรมี UID ระหว่าง 1,000 ถึง 60000 จากนี้ ฉันสามารถสร้างgetent Query ที่จะแสดงเฉพาะผู้ใช้ทั่วไปเท่านั้น

getent passwd {1000..60000}

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

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

เวอร์ชันทั่วไปของคำสั่งนี้พิจารณา ค่า UID_MINและUID_MAX ที่แตกต่างกันซึ่ง เซิร์ฟเวอร์ต่างๆ อาจใช้

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}

ในคำสั่งนั้น เรากำลังใช้ประโยชน์จากความสามารถของ Linux ในการทำหลายๆ อย่างพร้อมกัน คำสั่งawk รับค่า UID_MINและUID_MAXจากนั้นใช้ค่าเหล่านี้ภายในคำสั่งgetent

ตอนนี้ สมมติว่าทั้งหมดที่เราต้องการคือชื่อผู้ใช้ อีกครั้ง เราไพพ์เอาต์พุตของเราผ่าน คำสั่ง cutเช่น:

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1

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

คำสั่งนี้อาจใช้เวลา 10 ถึง 15 วินาทีจึงจะเสร็จสมบูรณ์ ดังนั้นโปรดอดทนรอ

จัดการผู้ใช้ Linux ของคุณอย่างมีประสิทธิภาพ

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

ในเวลาเดียวกัน อย่าลืมรักษานโยบายความปลอดภัยของรหัสผ่านและสนับสนุนให้ผู้ใช้ของคุณเปลี่ยนรหัสผ่านเป็นประจำ

Tags: #HOW-TO

Leave a Comment

วิธีแปลอีเมลขาเข้าใน Microsoft Outlook

วิธีแปลอีเมลขาเข้าใน Microsoft Outlook

เรียนรู้วิธีแปลอีเมลขาเข้าผ่าน Microsoft Outlook อย่างง่ายดาย โดยปรับการตั้งค่าเพื่อแปลอีเมลหรือดำเนินการแปลแบบครั้งเดียว

10 วิธีในการแก้ไขข้อผิดพลาด NET :: ERR_CERT_AUTHORITY_INVALID อย่างถาวร

10 วิธีในการแก้ไขข้อผิดพลาด NET :: ERR_CERT_AUTHORITY_INVALID อย่างถาวร

อ่านคำแนะนำเพื่อปฏิบัติตามวิธีแก้ปัญหาทีละขั้นตอนสำหรับผู้ใช้และเจ้าของเว็บไซต์เพื่อแก้ไขข้อผิดพลาด NET::ERR_CERT_AUTHORITY_INVALID ใน Windows 10

CefSharp.BrowserSubprocess คืออะไร ฉันควรหยุดมันไหม?

CefSharp.BrowserSubprocess คืออะไร ฉันควรหยุดมันไหม?

ค้นหาข้อมูลเกี่ยวกับ CefSharp.BrowserSubprocess.exe ใน Windows พร้อมวิธีการลบและซ่อมแซมข้อผิดพลาดที่เกี่ยวข้อง มีคำแนะนำที่เป็นประโยชน์

ไม่สามารถจับภาพหน้าจอเนื่องจากนโยบายความปลอดภัย? นี่คือเหตุผล

ไม่สามารถจับภาพหน้าจอเนื่องจากนโยบายความปลอดภัย? นี่คือเหตุผล

ค้นพบวิธีแก้ไขปัญหาเมื่อคุณไม่สามารถจับภาพหน้าจอได้เนื่องจากนโยบายความปลอดภัยในแอป พร้อมเทคนิคที่มีประโยชน์มากมายในการใช้ Chrome และวิธีแชร์หน้าจออย่างง่ายๆ.

ติดตั้ง Windows 10 บน M1 Mac และบอกลา Boot Camp

ติดตั้ง Windows 10 บน M1 Mac และบอกลา Boot Camp

ในที่สุด คุณสามารถติดตั้ง Windows 10 บน M1 Macs โดยใช้ Parallels Desktop 16 สำหรับ Mac นี่คือขั้นตอนที่จะทำให้เป็นไปได้

Fallout 3 จะไม่เปิด/ไม่ทำงานบน Windows 10 [แก้ไขด่วน]

Fallout 3 จะไม่เปิด/ไม่ทำงานบน Windows 10 [แก้ไขด่วน]

ประสบปัญหาเช่น Fallout 3 จะไม่เปิดขึ้นหรือไม่ทำงานบน Windows 10? อ่านบทความนี้เพื่อเรียนรู้วิธีทำให้ Fallout 3 ทำงานบน Windows 10 ได้อย่างง่ายดาย

[แก้ไขแล้ว] จะแก้ไขข้อผิดพลาดแอปพลิเคชัน 0xc0000142 และ 0xc0000005 ได้อย่างไร

[แก้ไขแล้ว] จะแก้ไขข้อผิดพลาดแอปพลิเคชัน 0xc0000142 และ 0xc0000005 ได้อย่างไร

วิธีแก้ไขข้อผิดพลาด Application Error 0xc0000142 และ 0xc0000005 ด้วยเคล็ดลับที่มีประสิทธิภาพและการแก้ปัญหาที่สำคัญ

การแก้ไข: การใช้งาน CPU สูงของความเข้ากันได้ของ Microsoft Telemetry อย่างถาวร

การแก้ไข: การใช้งาน CPU สูงของความเข้ากันได้ของ Microsoft Telemetry อย่างถาวร

เรียนรู้วิธีแก้ไข Microsoft Compatibility Telemetry ประมวลผลการใช้งาน CPU สูงใน Windows 10 และวิธีการปิดการใช้งานอย่างถาวร...

[แก้ไขแล้ว] ข้อผิดพลาดของ World War Z – หยุดทำงาน ไม่เปิดตัว หน้าจอดำและอื่น ๆ

[แก้ไขแล้ว] ข้อผิดพลาดของ World War Z – หยุดทำงาน ไม่เปิดตัว หน้าจอดำและอื่น ๆ

หากพบข้อผิดพลาดและข้อบกพร่องของ World War Z เช่น การหยุดทำงาน ไม่โหลด ปัญหาการเชื่อมต่อ และอื่นๆ โปรดอ่านบทความและเรียนรู้วิธีแก้ไขและเริ่มเล่นเกม

วิธีการใช้ ลบ และค้นหาข้อความเน้นใน Word

วิธีการใช้ ลบ และค้นหาข้อความเน้นใน Word

เมื่อคุณต้องการให้ข้อความในเอกสารของคุณโดดเด่น คุณสามารถใช้เครื่องมือในตัวที่มีประโยชน์ได้ ต่อไปนี้คือวิธีการเน้นข้อความใน Word