เรียกใช้ tcpdump ในฐานะผู้ใช้ที่ไม่ใช่รูท
นี่เป็นคำแนะนำสั้น ๆ ในการตั้งค่า tcpdump ในฐานะผู้ใช้ที่ไม่ใช่รูท แต่เพื่อให้ผู้ใช้เฉพาะที่เพิ่มลงในกลุ่มสามารถเรียกใช้ tcpdump ได้ สิ่งนี้แตกต่างจากการเรียกใช้ tcpdump จาก sudo ซึ่งจะยังคงเรียกใช้ tcpdump ในฐานะผู้ใช้รูท
นอกจากนี้ คุณสามารถตรวจสอบไฟล์ /usr/bin/tcpdump
ถ้ามันไม่ได้อาศัยอยู่ที่ /usr/sbin/tcpdump
คุณสามารถเปิดใช้งานสิ่งนี้สำหรับผู้ใช้ที่ไม่ใช่รูทด้วยวิธีการที่ปลอดภัยโดยใช้คำสั่งต่อไปนี้
กลุ่มเพิ่ม tcpdump
เพิ่มกลุ่ม <ชื่อผู้ใช้> tcpdump
chown root.tcpdump /usr/sbin/tcpdump
chmod 0750 /usr/sbin/tcpdump
setcap "CAP_NET_RAW+eip" /usr/sbin/tcpdump
ดังคำอธิบายโดยสังเขปข้างต้น.
เราสร้างกลุ่มชื่อ tcpdump
จากนั้นเราเพิ่มผู้ใช้หรือผู้ใช้ที่เราต้องการให้สามารถใช้ tcpdump ลงในกลุ่มได้
จากนั้นเราเปลี่ยนผู้ใช้/กลุ่มของ tcpdump ให้ตรงกับรูทและกลุ่มใหม่
จากนั้นเราตรวจสอบให้แน่ใจว่าได้ตั้งค่าการอนุญาตบน tcpdump เพื่อให้สมาชิกของกลุ่มสามารถดำเนินการได้ แต่ผู้ใช้ทั่วไปรายอื่นไม่สามารถทำได้
จากนั้นเราจะใช้ setcap เพื่อให้สิทธิ์ CAP_NET_RAW แก่ไฟล์ปฏิบัติการเมื่อเรียกใช้ นี่เป็นเพื่อให้ tcpdump สามารถเปิดซ็อกเก็ตดิบซึ่งไม่ได้รับอนุญาตตามปกติเว้นแต่คุณจะรูท
พบเมื่อ: https://www.stev.org/post/howtoruntcpdumpasroot