Ich möchte verhindern, dass einer meiner Root-Prozesse eine bestimmte Datei löscht. Ich bin also auf den Flockbefehl gestoßen, es scheint mir zu passen, aber ich habe seine Syntax nicht verstanden.Wie verwende ich den Befehl linux flock, um zu verhindern, dass ein anderer Root-Prozess eine Datei löscht?
Wenn ich nur eine gemeinsame Sperre angeben, funktioniert es nicht:
flock -s "./file.xml"
Wenn ich einen Timeout-Parameter hinzufügen, ist es noch nicht
funktioniert flock -s -w5 "./file.xml"
scheint es so, es passt in flock [-sxun][-w #] fd#
Weg.
(Was fd # Parameter ist?)
Also, ich die flock -s -w5 "./file.xml" -c "tail -3 ./file.xml"
flock [-sxon][-w #] file [-c] command
Mit ausprobiert und es funktionierte, wurde Befehl tail bei ./file.xml ausgeführt.
Aber ich würde gerne wissen, endet die Sperre nach dem Befehl oder dauert es 5 Sekunden nach dem Ende der Befehlsausführung? Meine Hauptfrage ist, wie kann ich verhindern, dass ein anderer Root-Prozess eine Datei in Linux löscht?
Oh, danke Mann. Ich werde die Ordnersperre versuchen. Danke – Danmaxis
Nein, du verstehst nicht. Linux hat normalerweise keine obligatorische Sperre. Obligatorisches Sperren löst nur wenig und erlaubt meistens nur einer App, den Dienst für einen anderen zu verweigern, ohne eine Erklärung oder einen Umgang damit zu haben. Wenn Sie wirklich wirklich wollen, dass root keine Dateien löschen kann, chatten Sie es mit "unveränderlich", aber sie können es immer wieder ändern und dann löschen. – MarkR