Disattiva le capacità aggiuntive di `setcap` su eseguibili


15

Una risposta a Linux: consentire a un utente di ascoltare una porta al di sotto di 1024 specificata fornendo a un eseguibile autorizzazioni aggiuntive utilizzando in modo setcaptale che il programma possa collegarsi alle porte <1024:

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

Qual è il modo corretto di annullare queste autorizzazioni?

Risposte:


19

Per rimuovere le funzionalità da un file, utilizzare il -rflag

setcap -r /path/to/program

Ciò comporterà che il programma non ha capacità.


Bene, era molto più evidente dopo aver riletto quella breve manpagina>.>
user2943160

11

Quello che ha pubblicato @ stephen-harris è giusto. Ma credo che rimuova tutte le funzionalità aggiunte al programma in un colpo solo. Per rimuovere una funzionalità specifica, seguire dovrebbe funzionare (seguendo l'esempio nella domanda)

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

Notare il segno "-". È possibile verificare le funzionalità {effect of the command} su un eseguibile come segue:

getcap /path/to/program

Nel caso di setcap -r, tutte le funzionalità scompariranno e il risultato di getcap sarà vuoto, in quanto '-ep' rimuove semplicemente ciò che è stato aggiunto con '+ ep'. È utile quando hai dato più funzionalità e vuoi rimuoverle selettivamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.