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.