W przypadku korzystania z setcap, gdzie przechowywane jest pozwolenie?


11

Korzystając setcapz dodatkowych uprawnień do pliku binarnego, należy zapisać nowe pozwolenie gdzieś, w pamięci lub w pamięci, gdzie jest ono przechowywane?

Używanie lsofas nie działa, ponieważ proces zanika zbyt szybko.


Użyj innego procesu. Zrób kopię /usr/bin/sleepi daj możliwości tej kopii.
Hauke ​​Laging

Odpowiedzi:


9

Rozszerzone uprawnienia, takie jak listy kontroli dostępu ustawione przez setfacli flagi możliwości ustawione przez setcapsą przechowywane w tym samym miejscu, co tradycyjne uprawnienia, i ustaw flagi [ug] id ustawione przez chmod: w i-węzle pliku.

(Mogą być faktycznie przechowywane w oddzielnym bloku na dysku, ponieważ i-węzeł ma ustalony rozmiar, który ma miejsce na tradycyjne bity uprawnień, ale nie na potencjalnie nieograniczone rozszerzone uprawnienia. Ale to ma znaczenie tylko w rzadkich przypadkach, takich jak konieczność opieka, która setcapmoże zabraknąć miejsca na dysku. Ale nawet chmodzabraknie miejsca na dysku w systemie, który korzysta z deduplikacji!)

GNU ls nie wyświetla atrybutów setcap pliku. Możesz je wyświetlić za pomocą getcap. Możesz wymienić wszystkie rozszerzone atrybuty za pomocą getfattr -d -m -; atrybut setcap jest wywoływany security.capabilityi jest zakodowany w formacie binarnym, który getcapdekoduje za ciebie.


4

setcap ustawia możliwości plików, które są przechowywane w rozszerzonym atrybucie systemu plików. Zostały one wyjaśnione w man 7 capabilities:

Zestawy możliwości plików są przechowywane w rozszerzonym atrybucie (patrz setxattr (2)) o nazwie security.capability.

Możesz sprawdzić możliwości uruchomionego procesu, badając pola CapInh / CapPrm / CapEff w /proc/PID/status. Zobacz moją odpowiedź na „ Jak ustawić możliwości za pomocą polecenia setcap? ”, Aby uzyskać wyjaśnienie, w jaki sposób możliwości są stosowane do przetwarzania w exec.


capsh --decode = może się przydać, aby uzyskać dane czytelne dla człowieka.
Zulgrib
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.