Einrichten von VSFTPD-Berechtigungen mit dem Apache-Server


8

Ich habe eine VM mit Ubuntu 10.10. Ich verwende Netbeans und lade Dateien auf ein FTP auf der virtuellen Maschine hoch. Ich benutze vsftpd.

Das Problem, das ich habe, ist, dass der Eigentümer des Ordners /var/wwwder Benutzer ist apache, damit der Apache-Server die Dateien lesen kann. So weit, ist es gut.

Aber wenn ich versuche, eine Datei vom FTP-Benutzer hochzuladen, kann user1ich das nicht. Ich weiß, was das Problem ist. Meine Frage ist, wie ich Berechtigungen für den Benutzer richtig einrichte apacheund user1alle Dateien im Verzeichnis / var / www schreiben / lesen kann.

Antworten:


17

Erstellen Sie eine Gruppe www-usersund machen Sie sie zum Gruppeninhaber von /var/www. Weisen Sie dann die Benutzer apacheund user1der Gruppe zu und setzen Sie die Berechtigungen für das /var/wwwVerzeichnis auf 775. Dadurch können user1alle anderen Benutzer in der www-usersGruppe lesen und schreiben /var/www. Dies erleichtert auch die Autorisierung anderer Benutzer zum Schreiben /var/www- weisen Sie den Benutzer einfach der www-usersGruppe zu.

Bearbeiten: Die korrekte Berechtigung für /var/wwwist 2775, einschließlich setgid, damit Dateien und Verzeichnisse im Inneren /var/wwwden Gruppenbesitz von erben /var/www.


Gute Antwort. Außer Apache nicht in der Lage ist , die Dateien zu lesen , nachdem ich etwas hochladen mit user1mir die folgenden Befehle lautete: chown -R apache:www-users /var/www, usermod -g www-users apache, usermod -g www-users user1, chmod 775 /var/www. Vermisse ich etwas
Tek

Die Umask kann so eingestellt werden, dass Leseberechtigungen von anderen verweigert werden. Überprüfen Sie, ob das Ändern der Umask hilfreich ist.
bwDraco

Ja. Das war ein Teil davon.
Tek

10
Hier sind die Schritte für den Fall, dass Googler einen Hinweis benötigen. 1) set up vsftpd for umask 0027 (/etc/vsftpd.conf) [local_umask=0027] 2) create www-users group (groupadd www-users) 3) add user to group (usermod -a -G group user) 4) Set apache to run as www-users group (httpd.conf) 5) chgrp www-users /var/www 6) chmod 2775 /var/www
Tek

2
Versuchen Sie außerdem, dem Verzeichnis die Berechtigung setgid hinzuzufügen : chmod g+s /var/www. Dadurch wird sichergestellt, dass die im Verzeichnis erstellten Dateien und Verzeichnisse der Gruppe gehören, der das Verzeichnis gehört.
bwDraco
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.