Deaktivieren Sie "setcap" für "excutable"

15

Eine Antwort auf Linux: Ermöglichen, dass ein Benutzer einen Port unter 1024 abhört, gibt an, dass eine ausführbare Datei zusätzliche Berechtigungen erhält setcap, sodass das Programm eine Bindung an Ports <1024 herstellen kann:

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

Was ist der richtige Weg, um diese Berechtigungen rückgängig zu machen?

user2943160
quelle

Antworten:

19

Verwenden Sie das -rFlag, um Funktionen aus einer Datei zu entfernen

setcap -r /path/to/program

Dies führt dazu, dass das Programm keine Funktionen hat.

Stephen Harris
quelle
Nun, das war viel offensichtlicher, nachdem ich diese kurze manSeite erneut gelesen hatte >.>
user2943160
11

Was @ stephen-harris gepostet hat, ist richtig. Aber ich glaube, es entfernt alle Funktionen, die dem Programm hinzugefügt wurden, auf einen Schlag. Um eine bestimmte Fähigkeit zu entfernen, würde folgendes funktionieren (entsprechend dem Beispiel in der Frage)

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

Beachten Sie das Zeichen "-". Sie können die {Wirkung der Befehle} über eine ausführbare Datei wie folgt überprüfen:

getcap /path/to/program

Im Fall von setcap -r sind alle Funktionen nicht mehr verfügbar und das Ergebnis von getcap ist leer, wenn '-ep' nur das entfernt, was Sie mit '+ ep' hinzugefügt haben. Dies ist praktisch, wenn Sie mehrere Funktionen angegeben haben und diese selektiv entfernen möchten.

Arun GK
quelle