Odpowiedzi:
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.
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.
/usr/bin/sleepi daj możliwości tej kopii.