ฉันจะแสดงรายการผู้ใช้ทั้งหมดพร้อมกับ UID ของพวกเขาได้อย่างไร ฉันต้องการทำสิ่งนี้จากสถานี
ฉันจะแสดงรายการผู้ใช้ทั้งหมดพร้อมกับ UID ของพวกเขาได้อย่างไร ฉันต้องการทำสิ่งนี้จากสถานี
คำตอบ:
รายการผู้ใช้ทั้งหมดที่มี/home
โฟลเดอร์:
awk -F: '/\/home/ {printf "%s:%s\n",$1,$3}' /etc/passwd
หรือผู้ใช้ทั้งหมดที่มีUID >= 1000
:
awk -F: '($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
การรวมกัน
awk -F: '/\/home/ && ($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
หรือสำหรับรายการทั้งหมด
awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
ข้อมูลเพิ่มเติมที่นี่
คุณสามารถค้นหาได้ง่ายเพียงแค่ใช้cut
:
cut -d: -f1,3 /etc/passwd
-d:
กำหนดตัวคั่นเป็น:
สำหรับcut
-f1,3
แยกฟิลด์ 1 และ 3 ที่คั่นด้วย:
จาก/etc/passwd
ไฟล์เท่านั้น
ตรวจสอบman cut
เพื่อรับแนวคิดเพิ่มเติม
ตัวอย่าง:
$ cut -d: -f1,3 /etc/passwd
root:0
daemon:1
bin:2
sys:3
sync:4
games:5
......
หากคุณได้ldap
กำหนดค่าเพื่อรวมldap
ผู้ใช้ในผลลัพธ์:
getent passwd | cut -d: -f1,3
getent passwd
แทน / etc / passwd เนื่องจากตัวหลังจะไม่รวมผู้ใช้ ldap
ldap
) ฉันได้ย้ายไปหนึ่งปัจจุบัน te.. หนึ่งแก้ไขไป :)
อีกทางเลือกหนึ่งในการแสดงรายการผู้ใช้ทั้งหมดรวมถึงข้อมูล UID และ GID
for user in $(cat /etc/passwd | cut -f1 -d":"); do id $users; done
ไชโย
เนื่องจากคุณพยายามที่จะแสดงรายการ UID และชื่อผู้ใช้คำสั่งด้านล่างจะทำงานได้ดีที่สุดบน Solaris พวกเขามีสอง awk
awk -F: '($ 3> = 1,000) {printf "% s:% s", $ 1, $ 3}' / etc / passwd
ฉันพบวิธีที่ง่ายที่สุดคือการมี webmin บนเซิร์ฟเวอร์ของคุณและไปที่ระบบ> ผู้ใช้และกลุ่มและที่นั่นคุณมีรายการที่จัดรูปแบบอย่างสวยงามพร้อมชื่อผู้ใช้และกลุ่มทั้งหมดที่มี uid's โฮมไดเร็กตอรี่เป็นต้น