Gruppenausgabe auf Ubuntu

589
grobarTN

Ich bin Mitglied einiger Gruppen, sagen wir Master, Student, Web. Das Problem ist, dass standardmäßig alles, was ich tue, zuerst in der Schülergruppe erstellt wird. Ich muss es so einstellen, dass es mit der Webgruppe erstellt wird.

Der Ordner, www/in dem ich eine Datei schreiben muss, ist bereits Modus 770. Da er jedoch meine Schülergruppe abholt, kann ich nicht in diesen Ordner schreiben.

Gibt es eine Möglichkeit, die Gruppe zu ändern, unter der ich Dateien erstellt.

Wenn ich es ausführt groups, listet ich alle Gruppen auf, also bin ich Mitglied der richtigen Gruppe und kann nicht in den Ordner schreiben.

Jemand?

1

4 Antworten auf die Frage

0
gorilla

Wenn Sie 'id' angeben, wird Ihre primäre Gruppe mit gid = 1000 (Schüler) aufgelistet. Standardmäßig werden alle Dateien mit dieser Gruppe erstellt.

Das ist jedoch nicht dein Problem. Wenn Sie Mitglied einer Gruppe sind, die über Schreibrechte für ein Verzeichnis verfügt, können Sie eine neue Datei erstellen.

Sind Sie sicher, dass die Berechtigungen für das WWW korrekt sind? Mach 'ls -ld www'.

0
Brendan Long

Sind Sie sicher, dass Sie sich in der richtigen Webgruppe befinden? Unter Ubuntu bedeutet dies wahrscheinlich, dass usermod -a -G www-data yournameabwechselnd www falsche Berechtigungen hat. Stellen Sie sicher, dass es so eingestellt, dass die Gruppenmitglieder Lese- / Schreibzugriff: chmod -R 770 /var/www.

0
quack quixote

Wenn Sie die Standardgruppe des Benutzers dauerhaft ändern möchten, verwenden Sie usermod( Manpage ):

# set "web" as the primary group for user "username" $ sudo usermod -g web username 

Sie können sich newgrp web(oder was auch immer der Gruppenname ist) in Ihre .bashrc, irgendwo am Ende der Datei, einfügen, um sich bei jeder Anmeldung in der Webgruppe "einzuloggen" - ohne die primäre Gruppe Ihres Benutzers zu ändern. newgrp( Manpage ) legt die "effektive Gruppen-ID" fest. Sehen:

# what's my current effective GID? $ id -g 1000  # "login" to another group  $ newgrp www-data  # now what's my effective GID? $ id -g 33 
0
Jonathan Leffler

Unless there's something unusual about Ubuntu, if you make the permissions on the target directory 'SGID', then all files created in the directory will belong to the group that owns the directory:

chmod g+s /var/www 

Now all files under /var/www will, by default, be created with the 'web' group that (I assume) owns the directory.

MacOS X defaults to this behaviour even if the SGID bit is not set on the directory.