
Ich habe ein Programm, das von zwei Benutzern verwendet wird. Es speichert seine Daten in $HOME. Ist es möglich, die Konfigurationsdateien (oder nur eine davon – die Datenbank) zwischen zwei Benutzern zu teilen?
Meine Idee war ein symbolischer Link. Die Konfigurationsdateien haben jedoch 0644-Berechtigungen, sodass ein symbolischer Link allein keine Lösung ist. Wenn die Verwendung eines symbolischen Links die beste Lösung ist, wie sieht die optimale Berechtigungskonfiguration aus, sodass nur diese beiden Benutzer Schreibzugriff auf die Konfigurationsdateien haben?
Ich verwende Linux Mint 17 (Ubuntu-Derivat)
Antwort1
Machen Sie den Dateimodus 0664
und fügen Sie chgrp
die Datei dann einer Gruppe hinzu, die beide Benutzer enthält. Wenn es keine solche Gruppe gibt, müssen Sie eine erstellen (mit groupadd
) und dann die Benutzer hinzufügen ( usermod --append --groups
), bevor Sie jeden Benutzer ab- und wieder anmelden.
Antwort2
Dies ist zwar technisch möglich, Sie müssen jedoch die Auswirkungen bedenken.
Was passiert, wenn user A
angemeldet ist und die Anwendung verwendet und sich dann user B
anmeldet und mit der Verwendung der Anwendung beginnt? Wenn beide etwas in der Anwendung ändern, das in die Datenbank geschrieben werden muss, was hat dann Vorrang?
Wenn die Anwendung nicht dafür ausgelegt ist, besteht die Möglichkeit, dass beide versuchen, in die Datenbank zu schreiben und sie zu beschädigen, sodass Sie am Ende in einer Situation landen, in der niemand darauf zugreifen kann. Oder im besten Fall „gewinnt“ einer und die Arbeit des anderen Benutzers geht verloren.
Unterm Strich heißt das also: Prüfen Sie, ob die Anwendung dafür ausgelegt ist. Wenn nicht, besteht das Risiko, dass etwas beschädigt wird oder verloren geht.