So verhindern Sie, dass Benutzer Dateien umbenennen, während sie Schreibberechtigungen unter Linux erteilen

So verhindern Sie, dass Benutzer Dateien umbenennen, während sie Schreibberechtigungen unter Linux erteilen

Aus bestimmten Gründen möchte ich verhindern, dass Nicht-Root-Benutzer des Linux-Servers die Dateinamen ändern oder umbenennen. Sie können jedoch den Inhalt der Datei ändern und darin schreiben. So geht das über die Befehlszeile.

Antwort1

Um eine Datei umzubenennen, spielen die Schreibberechtigungen für die Datei keine Rolle. Das Umbenennen einer Datei ist eine Änderung des Verzeichnisses, nicht der Datei selbst. Dabei wird der Verzeichniseintrag so geändert, dass er einen anderen Namen hat, der auf die Datei verweist.

Sie müssen also nur die Berechtigungen des Verzeichnisses ändern. Zum Beispiel:

chown root: .
chmod 755 .

Dadurch wird verhindert, dass Benutzer dort Dateien umbenennen, aber auch keine Dateien erstellen oder löschen. Wenn Sie möchten, dass sie dies trotzdem tun können, können Sie das Verzeichnis stattdessen beschreibbar machen, aber auch das tBit setzen. Wenn dieses Bit gesetzt ist, können Benutzer (außer dem Eigentümer des Verzeichnisses, der nicht eingeschränkt ist) nur die Dateien löschen oder umbenennen, die ihnen gehören.

chown root:people-who-can-create-file-here .
chmod 1775 .
chown root:people-who-can-modify-the-files file1-that-must-not-be-rename ...
chmod 664 file1-that-must-not-be-rename ...

verwandte Informationen