Wie können zwei Benutzer Eigentümer einer Datei sein?

8

Gemäß dem Titel muss ich eine Datei erstellen, zum Beispiel:

/home/john/file.ini

Ich habe einen Benutzer und eine Gruppe erstellt myuserund mygroupund sie als Eigentümer und Gruppe festgelegt file.ini:

chown myuser:mygroup file.ini

Ich habe einen anderen Benutzer namens mymain. Dieser Benutzer muss diese Datei lesen können. Wie kann ich die Berechtigungen ändern, um dies zuzulassen?

Wichtig: Ich möchte nur dem Benutzer "mymain" erlauben, diese Datei zu lesen, NICHT allen anderen Benutzern.

Also sollten myuser (der Besitzer der Datei) und mymain Zugriff haben.

Scott
quelle
3
Ordnen Sie beide Benutzer derselben Gruppe zu (und es sollte keinen anderen Benutzer in dieser Gruppe geben). Weisen Sie die Datei der Gruppe zu. Erledigt.
Felix

Antworten:

11

Im herkömmlichen Unix-Dateiberechtigungssystem ist dies nicht möglich: Eine Datei hat nur einen einzigen Eigentümer. Sie können eine Gruppe erstellen, die nur die beiden Benutzer enthält, die Zugriff haben sollen, und diese zur besitzenden Gruppe der Datei machen (und dieser Gruppe die gewünschten Berechtigungen erteilen). Dieser Ansatz hat jedoch einen gewissen Verwaltungsaufwand (nicht jeder Benutzer kann eine Gruppe erstellen und andere Benutzer darin platzieren).

Viele (die meisten) modernen Dateisysteme unterstützen jedoch ACLs und sind nicht allzu schwer zu verwenden. Wenn Sie POSIX-ACLs verwenden möchten, um einem anderen Benutzer Lese- ( r) und Schreibberechtigungen ( w) zu erteilen , können Sie den folgenden Befehl verwenden:

setfacl -m user:mymain:rw file.ini

Zwei Vorbehalte:

  • Die erforderlichen Tools sind nicht immer installiert. Unter Ubuntu / Debian befinden sie sich im aclPaket ( sudo apt-get install acl)
  • Selbst wenn das verwendete Dateisystem ACLs unterstützt, kann es sein, dass Ihr lokales Dateisystem ohne Unterstützung für ACLs bereitgestellt wird. In diesem Fall müssen Sie die Mount-Parameter ändern, um sie zu aktivieren (z ext4. B. bedeutet dies einfach das Anhängen ,aclan die Mount-Optionen in /etc/fstab).
Joachim Sauer
quelle
Ich habe das getan und jetzt habe ich viele Probleme mitls -l ls: cannot access /usr/local/src/..: Permission denied d????????? ? ? ? ? ? src/
Jonathan
5

Sie sollten sicherstellen, dass der Benutzer mymainMitglied von ist, mygroupund der Gruppe Berechtigungen erteilen, z

chmod g+r <filename>

Einige Dateisysteme implementieren ACL (Zugriffssteuerungslisten), und diese können sich als viel nützlicher für Sie erweisen, aber sie gehen über den Rahmen meiner Antwort hier hinaus. Sie sollten sich über ACLs in einem Unternehmen (ADS) informieren.

hinzugefügt

Technisch gesehen können natürlich nicht zwei Benutzer gleichzeitig Eigentümer derselben Datei sein. Wenn Sie dies nachahmen möchten, sollten Sie der Gruppe die volle Erlaubnis erteilen und möglicherweise eine spezielle Gruppe nur für diese beiden "Eigentümer" erstellen. Inwieweit dies tatsächlich die Eigenverantwortung nachahmt, hängt von der Paltform ab (UNIX-en im alten Stil) neigen dazu, in ihren Regeln für das Zulassen von chmod / chown sehr streng zu sein)

sehe sehen
quelle