Désactiver les fonctionnalités supplémentaires de «setcap» sur excutable


15

Une réponse à Linux: autoriser un utilisateur à écouter un port inférieur à 1024 spécifié en donnant à un exécutable des autorisations supplémentaires en utilisant de setcaptelle sorte que le programme puisse se lier à des ports <1024:

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

Quelle est la bonne façon d'annuler ces autorisations?

Réponses:


19

Pour supprimer des fonctionnalités d'un fichier, utilisez l' -rindicateur

setcap -r /path/to/program

Cela entraînera le programme n'ayant aucune capacité.


Eh bien, c'était beaucoup plus évident après avoir relu cette courte manpage>.>
user2943160

11

Ce que @ stephen-harris a posté est juste. Mais je crois qu'il supprime toutes les capacités ajoutées au programme en un seul coup. Pour supprimer une capacité spécifique, ce qui suit fonctionnerait (en suivant l'exemple de la question)

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

Remarquez le signe «-». Vous pouvez vérifier les capacités {effet des commandes} sur un exécutable comme suit:

getcap /path/to/program

Dans le cas de setcap -r, toutes les capacités auront disparu et le résultat de getcap sera vide alors que «-ep» supprimera simplement ce que vous avez ajouté avec «+ ep». Pratique lorsque vous avez donné plusieurs fonctionnalités et que vous souhaitez les supprimer de manière sélective.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.