Unter Linux einem User das Umbenennen / Entfernen einer Datei verbieten
-
Hallo zusammen,
ich habe ein kleines Linux / Debian Berechtigungsproblem.
Und zwar sieht das wie folgt aus. Ich habe einen normalen Debian User in seinem Home-Verzeichnis wo er Besitzer mit allen Rechten ist. Ganz normal halt.
Jetzt möchte ich in seinem Verzeichnis eine Datei (als root) ablegen, die er weder Umbenennen, Entfernen oder sonst Manipulieren darf. Nur Ausführen!
Das Problem ist, selbst wenn ich der Datei Besitzer und Gruppe auf root und die Berechtigungen der Datei auf 000 setze, darf er sie immernoch löschen und umbenennen. Wichtig ist hierbei, dass die Datei direkt im Home Verzeichnis liegen muss, da diese noch andere Dateien wie Config benötigt, die der Benutzer aber ändern darf.
Wie kann ich das lösen?Gruß
-
Als root:
# chattr +i dateiname
Dann ist egal, welche Rechte die Datei besitzt. Solange +i gesetzt ist, kann niemand die Datei löschen, umbenennen oder verändern, sogar root nicht.
-
chmod 755 filename
Sollte auch schon reichen.
-
EOP schrieb:
chmod 755 filename
Sollte auch schon reichen.
Nein.
-
EOP schrieb:
chmod 755 filename
Sollte auch schon reichen.
Solange dem User der Ordner gehört, in dem die Datei liegt (was beim home-Verzeichnis normalerweise so ist) kann er sie auch löschen.
-
Auch wenn der Datei-Ersteller "root" und nicht "der_user" ist?
Kann ich kaum glauben.
-
Musst Du nicht glauben. Ist aber so. Probier es aus.
-
Doch. Der User löscht die Datei nicht unmittelbar, vielmehr entfernt (unlink) er sie aus dem Verzeichnis, für das er ja alle Rechte besitzt. Anschließend löscht das System die Datei.
LinuxRechteProblem schrieb:
Wichtig ist hierbei, dass die Datei direkt im Home Verzeichnis liegen muss, da diese noch andere Dateien wie Config benötigt, die der Benutzer aber ändern darf.
Wie kann ich das lösen?Ich verstehe diese Konstellation nicht. Weshalb legst du die Dateien nicht an den vorgesehenen Orten ab?
-
Ist ja interessant.
Man lernt immer wieder was dazu.