Chciałbym zapobiec usuwaniu pewnego pliku przez jeden z procesów root. Więc natknąłem się na polecenie flock, wydaje mi się, że pasuje do moich potrzeb, ale nie dostałem jego składni.Jak użyć polecenia flock linux, aby zapobiec usunięciu pliku przez inny proces root?
Gdybym tylko wskazać wspólną blokadę, to nie działa:
flock -s "./file.xml"
Jeśli dodać parametr timeout, to nadal nie działa
flock -s -w5 "./file.xml"
Wydaje się, że sposób, pasuje on do sposobu: flock [-sxun][-w #] fd#
.
(Co to jest fd # parametr?)
Więc próbowałem flock [-sxon][-w #] file [-c] command
Korzystanie flock -s -w5 "./file.xml" -c "tail -3 ./file.xml"
i to działało, Komenda ogon w ./file.xml został stracony.
Ale chciałbym wiedzieć, czy blokada kończy się po komendzie, czy trwa 5 sekund po zakończeniu wykonywania polecenia? Moje główne pytanie brzmi: w jaki sposób mogę zapobiec usunięciu pliku w systemie Linux przez inny proces root?
Och, dzięki człowieku. Spróbuję zablokować folder. Dzięki – Danmaxis
Nie, nie rozumiesz. Linux zwykle nie ma obowiązkowego blokowania. Obowiązkowe blokowanie rozwiązuje mało, a przede wszystkim pozwala jednej aplikacji odmówić usługi drugiej bez wyjaśnienia lub sposobu radzenia sobie z nią. Jeśli naprawdę, na prawdę chcesz przestać rootować, usuwając plik, zamień go na "niezmienny", ale zawsze możesz go zmienić, a potem go usunąć. – MarkR