Linux verwaltet die Berechtigungen eines Ordners

329
Dakado

Ich habe einen Ordner, in den mehrere Benutzer Dateien schreiben und bearbeiten. Das Problem ist, dass die Dateien von einer App verwendet werden und zum Starten der App Berechtigungen (Lesen + Schreiben) erforderlich sind, die bearbeiteten Dateien jedoch dem Benutzer gehören, der sie bearbeitet hat Ich habe es vor dem Start des Programms über ein Skript festgelegt, aber die Dateien sind zu groß und der Vorgang ist sehr umfangreich, damit die Festplatte jedes Mal, wenn ich meine App starten möchte, Berechtigungen für 100K-Dateien festlegen kann. Irgendwelche Arbeit?

0
Wenn Sie "umask 0002" einstellen, werden standardmäßig alle Dateien mit Schreibberechtigung für Benutzer und Gruppen erstellt. Sie können entweder alle Benutzer derselben Gruppe zuordnen oder allen Benutzern, die die App verwenden, eine bestimmte Gruppe hinzufügen. AFH vor 6 Jahren 1
Wenn Sie den Empfehlungen von AFH folgen und eine dedizierte Gruppe erstellen, kann dieses Problem auftreten: [* Wie bewahrt man den Besitz einer Datei nach dem Bearbeiten auf? *] (Https://unix.stackexchange.com/q/368636/108618) Kamil Maciorowski vor 6 Jahren 0

1 Antwort auf die Frage

1
kostix

Es gibt zwei Ansätze:

  • Der "klassische" verwendet das sogenannte Group Sticky Bit:

    Unter Linux wird durch das für ein Verzeichnis festgelegte "group sticky bit" für alle Dateien, die in diesem Verzeichnis erstellt wurden, die Eigentümergruppe auf die des übergeordneten Verzeichnisses gesetzt - im Gegensatz zur primären Gruppe des Benutzers (standardmäßig).

    So geht's:

    1. Fügen Sie alle Benutzer einer dedizierten Gruppe hinzu.
    2. Legen Sie die Besitzergruppe für dieses Verzeichnis auf die neue Gruppe fest.
    3. Ändern Sie die Berechtigungen für dieses Verzeichnis so, dass sie einschließen g=rwxs. Aktivieren Sie also das Blocky-Bit der Gruppe, während Sie gleichzeitig den Mitgliedern dieser Gruppe "sinnvollen" Zugriff gewähren.
    4. Stellen Sie sicher, dass jeder Benutzer den umaskWert des Prozesses hat, den er zum Bearbeiten dieser Dateien verwendet, und zwar nicht die Gruppenberechtigungsbits ausblendet - dh, 002oder 007sind in Ordnung, aber es 022ist nicht so, als würden die im Verzeichnis erstellten Dateien die g-wBerechtigungsbits aufweisen, wodurch die Berechtigungsbits verhindert werden andere Benutzer aus der Bearbeitung der Dateien.

    Siehe die „Linux - Dateisystem Berechtigungen entmystifiziert“ für weitere Informationen.

  • Verwenden Sie POSIX-ACLs, um die Zugriffsrechte zu optimieren.

    Dies ist ein oft vergessener Ort, aber Debian ist seit Ewigkeiten standardmäßig mit dieser Funktion im Kernel und in den Dateisystemen, die es unterstützen, aktiviert.

    Man könnte beginnen mit dieser .