Unset `setcap` ความสามารถเพิ่มเติมเกี่ยวกับการจ่ายได้


15

คำตอบให้กับลินุกซ์: ช่วยให้ผู้ใช้เพื่อฟังพอร์ตด้านล่าง 1024ที่ระบุให้สิทธิ์เพิ่มเติมปฏิบัติการใช้setcapดังกล่าวว่าโปรแกรมที่สามารถผูกกับพอร์ต <1024:

setcap 'cap_net_bind_service=+ep' /path/to/program

วิธีที่ถูกต้องในการยกเลิกการอนุญาตเหล่านี้คืออะไร?

คำตอบ:


19

หากต้องการลบความสามารถออกจากไฟล์ให้ใช้-rแฟล็ก

setcap -r /path/to/program

ซึ่งจะส่งผลให้โปรแกรมไม่มีความสามารถ


นั่นเป็นสิ่งที่เห็นได้ชัดมากขึ้นหลังจากอ่านmanหน้าสั้นนั้นอีกครั้ง>.>
2943160

11

สิ่งที่ @ stephen-harris โพสต์ไว้ถูกต้อง แต่ฉันเชื่อว่ามันจะลบความสามารถทั้งหมดที่เพิ่มเข้าไปในโปรแกรมในช็อตเดียว ในการลบความสามารถที่เฉพาะเจาะจงการติดตามจะใช้งานได้ (ตามตัวอย่างในคำถาม)

setcap 'cap_net_bind_service=-ep' /path/to/program,

สังเกตเห็นสัญลักษณ์ '-' คุณสามารถตรวจสอบความสามารถ {effect of the command} ผ่านความสามารถในการปฏิบัติการดังต่อไปนี้:

getcap /path/to/program

ในกรณีของ setcap -r ความสามารถทั้งหมดจะหายไปและผลลัพธ์ของ getcap จะว่างเปล่าเมื่อ '-ep' ลบสิ่งที่คุณเพิ่มด้วย '+ ep' มีประโยชน์เมื่อคุณมอบความสามารถหลายอย่างและต้องการเลือกเอาออก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.