So verwenden Sie cap_dac_override von libcap

So verwenden Sie cap_dac_override von libcap

Ich versuche, cap_dac_override zu testen. Ich habe ein einfaches „Hallo Welt“ geschrieben. Ich habe das Programm kompiliert und alle Berechtigungen aus der ausführbaren Datei entfernt.

Momentan kann ich mein Programm nicht ausführen, indem ich ./hello ausführe, was richtig ist. Jetzt möchte ich eine Funktion anwenden, damit das Programm trotzdem ausgeführt werden kann, auch wenn der Benutzer keine Ausführungsberechtigung hat.

Darf ich fragen, wie ich cap_dac_override einrichte, damit ich das Programm weiterhin ausführen kann, oder verwende ich cap_dac_override völlig falsch?

setcap cap_dac_override=ep hello

Antwort1

Sie verwechseln Fähigkeiten und Berechtigungen.

DerDateimodusbitsoderBerechtigungenbeschreibenWas kann man mit einer Datei machen. Wenn Sie alle Berechtigungen aus einer Datei entfernen, teilen Sie dem Betriebssystem mit, dass niemand die Datei lesen, in sie schreiben oder sie ausführen soll.

Dateifunktionen beschreiben dagegenWas eine Datei kannoder genauer gesagt, was ein aus dieser Programmdatei stammender Prozess tun kann, was er sonst nicht tun könnte.

Mit setcap cap_dac_override=ep hellohaben Sie dem Programm erlaubt, hellodie üblichen Berechtigungsprüfungen bei der Ausführung zu überschreiben. Das ändert aber nichts daran, dass beim Versuch der Ausführung die üblichen Berechtigungsprüfungen angewendet werden hello.

verwandte Informationen