Czy zmiany setcap są trwałe


11

Czy w przypadku używania pliku setcap dla pliku ta zmiana jest trwała, czy muszę wywoływać setcap gdzieś podczas uruchamiania?

setcap cap_sys_nice fooexecutable

Odpowiedzi:


15

Setcap plik przechowuje możliwości w rozszerzonym atrybutu wywołania setxattr . Ten rozszerzony atrybut jest przechowywany podobnie jak inne atrybuty (własność, prawa ...) w systemie plików.

Od jądra 2.6.24 jądro obsługuje kojarzenie zestawów możliwości z plikiem wykonywalnym za pomocą setcap (8). Zestawy możliwości plików są przechowywane w rozszerzonym atrybucie (patrz setxattr (2)) o nazwie security.capability.

Nie musisz więc resetować limitu przy każdym ponownym uruchomieniu.


co jeśli plik zostanie zastąpiony?
— ryanwinchester

1
@ryanwinchester, jeśli zmieni się tylko zawartość pliku, nie ma problemu, ale jeśli plik zostanie usunięty / ponownie utworzony, pojemność setcap również zostanie usunięta.
— Cédric Julien

:( ah, więc to mój problem. Mam skrypt, który odbudowuje katalog, a następnie uruchamia serwer nasłuchujący na porcie 80. Muszę wymyślić sposób, aby nie trzeba było uruchamiać się za setcapkażdym razem
— Ryanwinchester

„jeśli zmieni się tylko zawartość pliku, nie ma problemu” nie jest prawdą. Zmiana zawartości pliku spowoduje usunięcie jego możliwości. Zobacz unix.stackexchange.com/a/283408/2526
— Richard Fearn

0

Zmiany są trwałe, ale wystąpiły problemy z użyciem nodejs.

Możesz użyć, authbindaby wyrazić zgodę użytkownika

sudo touch /etc/authbind/byport/80
sudo chown user:user /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.