Odznacz `setcap` dodatkowe możliwości na eksluzywnym

15

Odpowiedź do Linux: pozwala użytkownikowi na słuchanie portu poniżej 1024 określonej dając wykonywalne dodatkowych uprawnień przy użyciu setcaptak, że program może wiązać się z portami <1024:

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

Jaki jest prawidłowy sposób cofnięcia tych uprawnień?

użytkownik2943160
źródło

Odpowiedzi:

19

Aby usunąć możliwości z pliku, użyj -rflagi

setcap -r /path/to/program

Spowoduje to, że program nie będzie miał żadnych możliwości.

Stephen Harris
źródło
Cóż, to było o wiele bardziej widoczne po ponownym przeczytaniu tej krótkiej manstrony>.>
user2943160
11

To, co napisał @ stephen-harris, jest słuszne. Ale wierzę, że usuwa wszystkie możliwości dodane do programu w jednym ujęciu. Aby usunąć określoną możliwość, następujące działanie będzie działać (zgodnie z przykładem w pytaniu)

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

Zwróć uwagę na znak „-”. Możesz zweryfikować {efekt działania poleceń} w pliku wykonywalnym w następujący sposób:

getcap /path/to/program

W przypadku setcap -r wszystkie możliwości znikną, a wynik getcap będzie pusty, ponieważ „-ep” po prostu usuwa to, co dodałeś za pomocą „+ ep”. Przydaje się, gdy dałeś wiele możliwości i chcesz je selektywnie usunąć.

Arun GK
źródło