Wenn Sie sich die Berechtigungen für Verzeichnisse und Dateien ansehen, sehen Sie das Konto, dem sie gehören, und auch die Gruppe, zu der sie gehören. Z.B:
$ ls -ld /var/www/html drwxr-xr-x. 2 joe joe 23 Mar 12 11:08 /var/www/html
Im obigen Beispiel besitzt das Konto joe das Verzeichnis und es gehört zur Gruppe joe; Die Gruppe ist der zweite "Joe" auf der Linie. Die Gruppe darf nur einen Account enthalten, Joe, aber ich könnte der Gruppe weitere Konten hinzufügen. Ich könnte eine Gruppe mit dem Namen erstellen users
und das Verzeichnis wie Sie mit dieser Gruppe verknüpfen. Sie verwenden den chown
Befehl, aber es gibt auch einen chgrp
Befehl zum Ändern der Gruppe. Sie können diesen Befehl verwenden, um Dateien und Verzeichnisse einer Gruppe zuzuweisen, oder Sie können die Gruppe auch wie zuvor ändern chown user:group
. Sie können z. B. den folgenden Befehl verwenden, wenn eine www-data-Gruppe im System vorhanden ist (Sie können die Gruppen und ihre Mitglieder sehen, indem Sie den Befehl ausgeben cat /etc/group
):
sudo chgrp www-data /var/www/html
Dann könnte ich etwas wie das Folgende sehen:
# ls -ld /var/www/html drwxr-xr-x. 2 joe www-data 23 Mar 12 11:08 /var/www/html
Wenn Sie möchten, können Sie die Gruppe für das Verzeichnis als neue users
Gruppe festlegen, die Sie wie mit dem chown -R joe:users
Befehl erstellt haben.
Als ich den ls -ld
Befehl zur Überprüfung der Berechtigungen für das Verzeichnis ausgab, sah ich Folgendes:
drwxr-xr-x
Das "d" sagt mir, dass es ein Verzeichnis ist. Die nächsten drei Zeichen zeigen an, dass die Berechtigungen für den Eigentümer Lesen, Schreiben und Ausführen sind. Die nächsten 3 Zeichen zeigen die Berechtigungen für die Gruppe, die im obigen Beispiel gelesen und ausgeführt werden. Ich könnte der Gruppe Schreibberechtigung mit dem folgenden Befehl erteilen:
chmod g+w /var/www/html
Sie können die Berechtigungen für das obige Verzeichnis auch mit der Option -R
oder rekursiv ändern --recursive
.
Wenn Sie die Gruppe anpassen Berechtigungen entsprechend, können Sie erreichen, was Sie tun wollen, so dass, wenn Apache läuft als www-data und www-data die entsprechenden Gruppenberechtigungen auf das Verzeichnis hat, und die Dateien und Unterverzeichnisse in ihm, wird Apache sein Dateien lesen und schreiben können. Anscheinend haben Sie den Besitzer und die Gruppe bereits auf eine funktionierende Einstellung festgelegt. Daher müssen Sie jetzt wahrscheinlich nur noch die Berechtigungen für die Gruppe users
mit dem chmod
Befehl festlegen .