2009-08-06 23:30:27 +0000 2009-08-06 23:30:27 +0000
199
199

Wie kann ich allen Benutzern unter Linux Schreibzugriff auf einen Ordner geben?

Ich habe gerade apache2 unter Ubuntu installiert und festgestellt, dass der Ordner /var/www geschützt ist. Ich kann einfach alles sudo, aber ich würde ihm lieber einfach Schreibzugriff geben.

Wie kann ich das tun?

Ich habe es mit sudo chmod 7777 /var/www versucht, aber es hat nicht funktioniert.

Ответы (8)

328
328
328
2009-08-07 00:15:22 +0000

Um sie am besten mit mehreren Benutzern zu teilen, die in /var/www schreiben können sollten, sollte ihr eine gemeinsame Gruppe zugewiesen werden. Zum Beispiel ist die Standardgruppe für Web-Inhalte unter Ubuntu und Debian www-data. Stellen Sie sicher, dass alle Benutzer, die Schreibzugriff auf /var/www benötigen, in dieser Gruppe sind.

sudo usermod -a -G www-data <some_user>

Dann setzen Sie die richtigen Berechtigungen auf /var/www.

sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www

Zusätzlich sollten Sie das Verzeichnis und alle Verzeichnisse darunter “GID setzen” lassen, so dass alle neuen Dateien und Verzeichnisse, die unter /var/www erstellt werden, der Gruppe www-data gehören.

sudo find /var/www -type d -exec chmod 2775 {} \;

Finden Sie alle Dateien in /var/www und fügen Sie Lese- und Schreibberechtigung für Eigentümer und Gruppe hinzu:

sudo find /var/www -type f -exec chmod ug+rw {} \;

Möglicherweise müssen Sie sich aus- und wieder einloggen, um Änderungen vornehmen zu können, wenn Sie die Bearbeitungsberechtigung für Ihr eigenes Konto haben.

34
34
34
2011-09-22 10:31:49 +0000

Es gibt einen einfacheren Weg, versuchen Sie es mit diesem Befehl.

sudo chmod -R 757 /var/www

Im Wesentlichen ändert der Befehl chmod die Berechtigungen, und der Schalter -R wirkt sich auf alle Benutzer aus. Dann gibt er einfach die richtigen Berechtigungen zur Verwendung.

30
30
30
2013-08-09 19:22:50 +0000

Lesen+Schreiben:

sudo chmod -R a+rw /var/www

Lesen+Schreiben+Ausführen:

sudo chmod -R a+rwx /var/www
8
8
8
2009-08-08 12:29:16 +0000

Sie können auch das, was jtimberman vorgeschlagen hat, mit Zugriffskontrolllisten replizieren. Der Befehl setfacl akzeptiert -s, um eine vorhandene ACL zu ersetzen, oder -m, um sie zu modifizieren; -R, um Verzeichnis-ACLs rekursiv zu machen; und -d, um die angegebenen Einstellungen zum Standard zu machen, was nützlich ist, wenn Sie bevorstehende Benutzerkonten vorwegnehmen.

Diese legen einfach die Berechtigungen so fest, wie Sie es für den Benutzer, die Gruppe, andere und die Maske mit chmod tun würden:

setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY

Und so könnten Sie es für einen bestimmten Benutzer oder seine Gruppe machen:

setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY

Und die Stärke ist natürlich, dass Sie jeden bestimmten Benutzer, mehrere Benutzer usw. bestimmen können, all das, ohne dass Sie Ihre Gruppeneinstellungen ändern müssen. Und im Gegensatz zu chmod ist es mit setfacl tatsächlich möglich, wenn Sie möchten, dass einige Groupies Zugriff auf ein Verzeichnis haben und andere Groupies nur Zugriff auf ein anderes. Um schließlich die ACLs eines Verzeichnisses zu sehen, führen Sie getfacl :

getfacl DIRECTORY

aus. Und Sie können -R angeben, um die ACLs für Unterverzeichnisse zu sehen, oder -d, um die Standardeinstellungen zu sehen.

3
3
3
2018-02-20 02:20:19 +0000

Die schnelle & einfache Antwort -

a. Fügen Sie (-a) Ihren Benutzer (Benutzer_name) zur Gruppe (-G) wwww-data hinzu.

sudo usermod -a -G www-data user_name

b. Geben Sie der Gruppe (g) die gleichen (=) Rechte wie dem besitzenden Benutzer (u) von /var/www rekursiv (-R).

sudo chmod -R g=u /var/www

Erläuterung: Apache 2 auf Debian/Ubuntu setzt den Benutzer & die Gruppe www-data als Eigentümer von /var/www. Die Standardberechtigungen für den Benutzer sind “Inhalt ansehen & ändern”, die Gruppe kann jedoch nur “Inhalt ansehen”. Wenn Sie sich selbst zur Gruppe www-data hinzufügen und ihr die gleichen Rechte wie dem Benutzer wwww-data geben, ist das ein schneller und einfacher Weg, sich zu entwickeln. Ich tue dies für alle meine localhost (PC/Laptop) Webentwicklungsumgebungen.

2
2
2
2017-03-19 21:13:20 +0000

Ich verwende typischerweise

chmod g+w /folder/ -R

Es ist fast selbsterklärend.

Es fügt alle in der Gruppe g von /folder/ hinzu, um w Schreibzugriff (+w) zu haben, -R ist für die Rekursion für Unterordner.

-3
-3
-3
2009-08-07 02:01:12 +0000

Können Sie es einfach mit chmod 0777 /var/www versuchen?

Ein Wort der Warnung: Wenn Sie jedem Zugriff auf diesen Ordner erlauben, bedeutet das, dass die Hacker auf diesen Ordner zugreifen können, wenn sie Zugriff auf Ihr System erhalten. Deshalb ist es besser, eine Gruppe zulässiger Benutzer anzulegen und dieser Gruppe Schreibzugriff zu gewähren.

-3
-3
-3
2011-09-30 09:58:58 +0000

Zuerst geben Sie den jeweiligen Ordnerpfad ein, dann mit diesem Befehl …

chmod -R 777 foldername
chown username:username foldername