GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie verwende ich den Befehl linux flock, um zu verhindern, dass ein anderer Root-Prozess eine Datei löscht?

Nein, Flock hindert niemanden daran, irgendetwas zu tun. Unix-Sperren sind ADVISORY, was bedeutet, dass sie verhindern, dass andere Prozesse ebenfalls flock aufrufen (oder im Fall einer gemeinsamen Sperre verhindern, dass ein anderer Prozess eine exklusive verwendet).

Es hindert weder root noch andere daran, die Datei zu lesen, zu schreiben oder zu löschen.

In jedem Fall, selbst wenn es sich um eine obligatorische Sperre handelte, würde dies das Löschen der Datei nicht verhindern, da die Datei gesperrt wird und nicht der Verzeichniseintrag.


sudo chattr +i ./file.xml

MarkR hat Recht, wenn die Datei gechattet wird, wird verhindert, dass sie gelöscht wird:

-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2135] --> sudo chattr +i junk.txt
[sudo] password for risk: 
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2136] --> sudo rm ./junk.txt 
rm: cannot remove `./junk.txt': Operation not permitted
zsh: exit 1     sudo rm ./junk.txt
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2137] --> sudo rm -f ./junk.txt
rm: cannot remove `./junk.txt': Operation not permitted
zsh: exit 1     sudo rm -f ./junk.txt
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2138] --> 

Flock ist nicht das richtige Werkzeug für diesen Job. Wenn Sie ein Programm haben, das Dateien löscht, sollten Sie dieses Programm nicht als Root ausführen. Sie sollten es als ein anderer Benutzer ausführen. Unix bietet sehr gute Unterstützung für Dateiberechtigungen, aber root ist ein gutes Konto. Root kann alles, und es gibt keine Berechtigungen für Root.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den sudo-Befehl unter Linux

  4. So verwenden Sie den Tar-Befehl unter Linux

  5. Sysadmin-Toolbox:Verwenden des Sortierbefehls zum Verarbeiten von Text in Linux

So verwenden Sie den Linux-Ping-Befehl

So verwenden Sie Sudo und die Sudoers-Datei

So verwenden Sie den Truncate-Befehl unter Linux

So verwenden Sie den Befehl uniq zum Verarbeiten von Listen in Linux

So verwenden Sie den fd-Befehl auf einem Linux-System

Wie verwende ich den Gzip-Befehl unter Linux?