Anscheinend vermisse ich immer noch einige Dinge über die Funktionsweise von Berechtigungen. Ich bin übrigens auf einem Debian-7-System. gerade habe ich diese datei von der ich heruntergeladen habe und die gehört dazu myuser:myuser
, dass sowohl benutzer als auch gruppe auf mich eingestellt sind. Es befindet sich auch in meinem $HOME
Verzeichnis, da ich es dort heruntergeladen habe.
So weit, ist es gut. Jetzt möchte ich diese Datei mit einigen anderen Benutzern des PCs teilen und dafür den Gruppeneigentum der Datei auf "Benutzer" gruppieren. das schlägt jedoch fehl:
nass@quarx:~/xmas_carol$ chgrp -R users *
chgrp: changing group of movie.mov': Operation not permitted
Und der Inhalt des Ordners ist:
-rwxr-xr-x 1 nass nass 2482411461 Feb 6 03:57 movie.mov
Ich bin mir nicht sicher, was mit den Berechtigungen los ist. Kann mir jemand erklären
permissions
nass
quelle
quelle
/xmas_carol
Samba / NFS Mount?setfacl
(wenn das Dateisystem ACLs hat). siehe unix.stackexchange.com/questions/101263/…Antworten:
Ihr Benutzer ist wahrscheinlich kein Mitglied der
users
Gruppe, daher haben Sie nicht das Recht, dieser Gruppe eine Datei zuzuweisen. Um zu veranschaulichen:Dieses Verhalten wird in den POSIX-Spezifikationen erwähnt :
Der Hauptgrund dafür ist, dass Sie, wenn Sie kein Mitglied einer Gruppe sind, nicht in der Lage sein sollten, den Zugriff auf diese Gruppe zu ändern. Diese Antwort zu
chown
Berechtigungen ist ebenfalls relevant.Traditionell haben Sie auf gemeinsam genutzten Systemen eine
users
Gruppe, zu der alle regulären Benutzer gehören, und dies ist die primäre Gruppe jedes Benutzers. Auf diese Weise werden Dateien im Besitz derusers
Gruppe erstellt, und alle Benutzer können sie lesen.Wie auch immer, da dies nicht die Art und Weise ist, wie Debian-basierte Distributionen heutzutage eingerichtet werden, wäre die Art und Weise, einem bestimmten Benutzer Zugriff auf Ihre Datei zu gewähren, eine der folgenden
Ändern Sie den Gruppeneigentum der Datei / des Verzeichnisses in eine Gruppe, der Sie und der andere Benutzer angehören.
Ändern Sie einfach die Berechtigungen der Datei / des Verzeichnisses entsprechend:
Dadurch wird das Verzeichnis für alle zugänglich.
quelle
In den jüngsten UNICs (und "kürzlich" hat hier eine ziemlich breite Bedeutung) können Sie die Gruppeneigentümerschaft von Dateien nicht in eine Gruppe ändern, der Sie nicht angehören. Ältere Versionen verschiedener UNIX-Versionen haben dies in Anwendungsfällen wie Ihrem unterstützt, es hat sich jedoch als Sicherheitsproblem erwiesen.
Das Problem, den Gruppeneigentum in fremde Gruppen umwandeln zu können, ist recht trivial: Wenn für das Dateisystem, in dem sich die Datei befindet, Gruppenkontingente aktiviert sind, kann ein Benutzer mit böswilliger Absicht einfach das Kontingent der fremden Gruppe ausfüllen, was es für Benutzer unmöglich macht mit dieser Gruppe als primäre Gruppen-ID, um weitere Dateien zu erstellen. Dies kann sich leicht auf bereits ausgeführte Prozesse auswirken und dazu führen, dass diese aufgrund einer "vollen Festplatte" abstürzen.
Um Ihr Problem zu umgehen, gibt es (mindestens) zwei Möglichkeiten: Erstens können Sie den Superuser Ihres Systems bitten, die gewünschte Zielgruppe in die Liste der zusätzlichen Gruppen Ihres Kontos aufzunehmen. Das macht natürlich nur bedingt Sinn, wenn Sie sonst keine Beziehung zu dieser Gruppe haben.
Die andere Möglichkeit, die Datei nicht für die Welt beschreibbar zu machen, ist die Verwendung von ACLs, um der beabsichtigten Gruppe Lese- und Schreibberechtigungen zu erteilen:
quelle
Dies kann daran liegen, dass das unveränderliche Bit gesetzt ist. Holen Sie sich die Liste der Dateiattribute ausgeführt
Wenn ich angezeigt werde, dann ist das unveränderliche Attribut gesetzt und niemand kann die Datei ändern (sogar root).
Um das Attribut zu entfernen, müssen Sie als root ausgeführt werden
Weitere Dateisystemattribute finden Sie in den Manpages
quelle
Wenn Sie sich gerade selbst zur Gruppe hinzugefügt haben, müssen Sie sich abmelden und erneut anmelden, damit die Änderungen wirksam werden.
quelle