Jest to prawie (ale nie teoretycznie) niemożliwe. Gdy użytkownik ma dostęp do sudo, który nie jest bardzo ograniczony, ma dostęp do roota - na przykład uruchomienie sudo / bin / bash utworzy powłokę bash z uprawnieniami roota i będzie w stanie obejść wszelkie mechanizmy wprowadzone przez roota.
Teoretycznym sposobem na to byłoby stworzenie reguł sudo, które pozwolą użytkownikowi robić prawie wszystko, czego chcą / potrzebują, z wyjątkiem możliwości wykonywania wszystkich poleceń, które mogłyby uzyskać dostęp do tego zasobu - prawie na pewno nie jest to możliwe w praktyce.
Możesz także użyć SELinux lub Apparmour, aby ograniczyć dostęp do katalogów - ale znowu, ktoś z rootem może to cofnąć.
Możesz udaremnić dostęp do określonego zasobu, utrzymując go w postaci zaszyfrowanej i podłączając zaszyfrowany wolumin - spodziewam się, że to nie uniemożliwi dostępu, ale uniemożliwi przypadkowy dostęp. [Zauważam, że kiedy używam FUSE do zdalnego montowania systemu plików jako użytkownik, tylko użytkownik, który zamontował system plików, może uzyskać do niego dostęp. Oczywiście, ponieważ jestem rootem, mogę po prostu SU wrócić do tego użytkownika i zobaczyć pliki - i bez wątpienia istnieją inne sposoby, aby to zrobić] Ponadto, jeśli zasób nie zostanie zamontowany, gdy użytkownik ma dostęp do roota, a kluczem jest nie przechowywane w pamięci, oni też nie mogą tego zdobyć.
sudo
jest wysoce konfigurowalny i istnieje, więc nie musisz zapewniać użytkownikom pełnego dostępu roota. Co dokładnie muszą być w stanie zrobić?