คำตอบอื่น ๆ เมื่อพยายามผลิตดังต่อไปนี้:
$ sudo lpstat -W completed
mfc-8480dn-1652 root 1024 Tue 28 Jan 2014 01:19:34 AM EST
การเพิ่มผู้ใช้saml
จะให้ประวัติผู้ใช้ของคุณว่า:
$ sudo lpstat -W completed -u saml | head -2
mfc-8480dn-1524 saml 23552 Thu 28 Nov 2013 10:45:44 AM EST
mfc-8480dn-1526 saml 699392 Sat 30 Nov 2013 10:34:34 AM EST
แต่ที่-u all
กล่าวถึงในคำถาม & คำตอบ U & L นี้: ดูงานพิมพ์ของผู้ใช้ทั้งหมดจากบรรทัดคำสั่งไม่ได้ช่วยอะไรฉัน
$ sudo lpstat -W completed -u all | head -2
$
อยากรู้อยากเห็นฉันสามารถทำสิ่งนี้:
$ sudo lpstat -W completed -u saml,root | head -3
mfc-8480dn-1524 saml 23552 Thu 28 Nov 2013 10:45:44 AM EST
mfc-8480dn-1526 saml 699392 Sat 30 Nov 2013 10:34:34 AM EST
mfc-8480dn-1652 root 1024 Tue 28 Jan 2014 01:19:34 AM EST
ดังนั้นวิธีแฮ็ควิธีหนึ่งในการทำเช่นนี้คือการทำให้รายชื่อผู้ใช้ในระบบของคุณเป็นทางการและจากนั้นเพิ่มคำสั่งย่อยลงใน-u
อาร์กิวเมนต์เช่น:
$ sudo lpstat -W completed -u $(getent passwd | \
awk -F: '{print $1}' | paste -sd ',')
เพียงเพื่อแสดงให้เห็นว่าสิ่งนี้เห็นผู้ใช้ทุกคนในพื้นที่คุณจะได้รับรายชื่อผู้ใช้ที่ไม่ซ้ำใครเช่น:
$ sudo lpstat -W completed -u $(getent passwd | \
awk -F: '{print $1}' | paste -sd ',') | awk '{print $2}' | sort -u
ethan
root
sam
tammy
ปัญหา?
ปัญหาหนึ่งคือถ้าผู้ใช้พิมพ์ไปที่ CUPS ไม่มีบัญชีอยู่ภายในเครื่องพวกเขาจะไม่ปรากฏขึ้น
แต่ถ้าคุณมีไดเรกทอรีที่มีไฟล์ควบคุม LPD ของคุณโดยทั่วไปคือ, you'll notice a bunch of control files in there. These files are kept as a result of the
การตั้งค่า/ var / spool / cups MaxJobs` ซึ่งจะมีค่าเริ่มต้นเป็น 500 เมื่อไม่ได้ตั้งค่า
$ sudo ls -l /var/spool/cups/ | wc -l
502
ที่มาของชื่อผู้ใช้อื่น
หากคุณตรวจสอบไฟล์เหล่านี้คุณจะสังเกตเห็นว่าพวกเขามีชื่อผู้ใช้ไม่ใช่เฉพาะสำหรับบัญชีที่มีอยู่ในระบบ
$ strings /var/spool/cups/* | grep -A 1 job-originating-user-name | head -5
job-originating-user-name
tammyB
--
job-originating-user-name
tammyB
ดังนั้นเราสามารถเลือกรายการทั้งหมดที่มีชื่อผู้ใช้ตามด้วย B.
$ sudo strings /var/spool/cups/* | grep -A 1 job-originating-user-name | \
grep -oP '.*(?=B)' | sort -u
ethan
guest-AO22e7
root
sam
saml
slm
tammy
รายการนี้สามารถปรับเปลี่ยนได้ในลักษณะเดียวกับที่เราใช้เพื่อนำรายการผู้ใช้จากgetent passwd
:
$ sudo lpstat -W completed -u $(strings /var/spool/cups/* | \
grep -A 1 job-originating-user-name | \
grep -oP '.*(?=B)' |sort -u | paste -sd ',')
mfc-8480dn-1525 tammy 545792 Thu 28 Nov 2013 01:36:59 PM EST
mfc-8480dn-1526 saml 699392 Sat 30 Nov 2013 10:34:34 AM EST
mfc-8480dn-1652 root 1024 Tue 28 Jan 2014 01:19:34 AM EST
mfc-8480dn-1672 saml 1024 Sun 09 Feb 2014 01:56:26 PM EST
อ้างอิง