Ich möchte einem Benutzer die Berechtigung erteilen, Dateien in einem bestimmten Verzeichnis zu erstellen und zu lesen, aber keine Dateien zu ändern oder zu löschen. Wenn der Benutzer an Dateien anhängen kann, ist das in Ordnung, aber ich möchte lieber nicht. Dies ist auf Ubuntu Linux.
Ich denke, dass dies mit Standard-Unix-Dateiberechtigungen unmöglich ist, aber vielleicht ist dies mit ACLs möglich? Der Benutzer stellt immer eine Verbindung über SFTP her. Wenn es also eine Möglichkeit gibt, dies in SFTP zu steuern (im Gegensatz zu den Betriebssystemberechtigungen), ist dies in Ordnung.
Um ganz klar zu sein, möchte ich Folgendes:
- echo hallo> test # ist erfolgreich, da test nicht existiert und das erstellen erlaubt ist
- echo hallo >> test # kann erfolgreich sein oder fehlschlagen, je nachdem, ob das Anhängen erlaubt ist
- echo hello2> test # schlägt fehl, da der Test bereits vorhanden ist und Änderungen nicht zulässig sind
- Katzentest # erfolgreich, da Lesevorgänge zulässig sind
- rm test # schlägt fehl, da das Löschen nicht erlaubt ist
Wenn Sie sich fragen, warum ich das tun möchte, ist es, ein Duplicati-Backup-System resistent gegen Ransomware zu machen.
echo > test
, erstellt die Shell eineopen("test", O_WRONLY|O_CREAT|O_TRUNC)
Datei und ruftecho
diese auf , um den Inhalt so zu schreiben, dass er geändert wird. Jetzt konnte nur das erste Öffnen (WR) erfolgreich sein.