Bỏ đặt các khả năng bổ sung `setcap` trên excutable


15

Một câu trả lời cho Linux: cho phép người dùng để nghe một cổng sau 1024 quy định đưa ra một thực thi điều khoản bổ sung sử dụng setcapnhư vậy mà chương trình có thể liên kết với cổng <1024:

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

Cách chính xác để hoàn tác các quyền này là gì?

Câu trả lời:


19

Để xóa khả năng khỏi tệp, hãy sử dụng -rcờ

setcap -r /path/to/program

Điều này sẽ dẫn đến chương trình không có khả năng.


Chà, điều đó đã rõ ràng hơn rất nhiều sau khi đọc lại mantrang ngắn đó >.>
user2943160

11

Những gì @ stephen-harris đăng là đúng. Nhưng tôi tin rằng nó sẽ loại bỏ tất cả các khả năng được thêm vào chương trình trong một lần bắn. Để loại bỏ một khả năng cụ thể, sau đây sẽ hoạt động (theo ví dụ trong câu hỏi)

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

Lưu ý dấu '-'. Bạn có thể xác minh khả năng {effect của các lệnh} qua một tệp thực thi như sau:

getcap /path/to/program

Trong trường hợp setcap -r, tất cả các khả năng sẽ biến mất và kết quả của getcap sẽ trống trong khi '-ep' chỉ xóa những gì bạn đã thêm bằng '+ ep'. Có ích khi bạn đưa ra nhiều khả năng và muốn loại bỏ chúng một cách có chọn lọc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.