Отключить дополнительные возможности `setcap` на excutable

15

Ответ на Linux: позволяя пользователь слушать порт ниже 1024 , указанного давая исполняемые дополнительные разрешения , используя setcapтаким образом, что программа может связываться с портами <1024:

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

Как правильно отменить эти разрешения?

user2943160
источник

Ответы:

19

Чтобы удалить возможности из файла, используйте -rфлаг

setcap -r /path/to/program

Это приведет к тому, что программа не будет иметь никаких возможностей.

Стивен Харрис
источник
Ну, это стало намного более очевидным после перечитывания этой короткой manстраницы>.>
user2943160
11

То, что написал @ Стивен-Харрис, правильно. Но я считаю, что это удаляет все возможности, добавленные в программу за один раз. Чтобы удалить конкретную возможность, будет работать следующее (следуя примеру в вопросе)

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

Обратите внимание на знак «-». Вы можете проверить возможности {эффекта команд} над исполняемым файлом следующим образом:

getcap /path/to/program

В случае setcap -r все возможности исчезнут, и результат getcap будет пустым, тогда как '-ep' просто удаляет то, что вы добавили с помощью '+ ep'. Удобно, когда вы дали несколько возможностей и хотите выборочно удалить их.

Арун Г.К.
источник