Konfigurowanie uprawnień VSFTPD z serwerem Apache

8

Mam maszynę wirtualną z systemem Ubuntu 10.10. Korzystam z Netbeans i przesyłam pliki do ftp na maszynie wirtualnej. Używam vsftpd.

Problemem jest to, że właścicielem folderu /var/wwwjest użytkownik apache, aby serwer Apache mógł odczytać pliki. Na razie w porządku.

Ale kiedy próbuję załadować plik od użytkownika ftp, user1nie jestem w stanie. Wiem na czym polega problem. Moje pytanie brzmi: jak poprawnie skonfigurować uprawnienia dla użytkownika apachei user1móc zapisywać / odczytywać wszystkie pliki w katalogu / var / www?

Tek
źródło

Odpowiedzi:

17

Utwórz grupę www-usersi ustaw ją jako właściciela grupy /var/www. Następnie przypisz użytkowników apachei user1grupę oraz ustaw uprawnienia w /var/wwwkatalogu na 775. Pozwoli to user1wszystkim użytkownikom w www-usersgrupie na odczyt i zapis /var/www; ułatwi także autoryzowanie innych użytkowników do pisania /var/www- wystarczy przypisać użytkownika do www-usersgrupy.

Edycja: Prawidłowe uprawnienia /var/wwwto 2775, w tym setgid, dzięki czemu pliki i katalogi wewnątrz /var/wwwdziedziczą własność grupy /var/www.

bwDraco
źródło
Świetna odpowiedź. Oprócz apache nie jest w stanie odczytać pliki po przesłaniu coś z user1Pobiegłem następujące polecenia: chown -R apache:www-users /var/www, usermod -g www-users apache, usermod -g www-users user1, chmod 775 /var/www. Czy coś brakuje?
Tek
Umask może być ustawiony tak, aby odmawiać uprawnień odczytu innym osobom; zobacz, czy zmiana umask pomaga.
bwDraco,
Tak. To było częścią tego.
Tek,
10
Oto kroki na wypadek, gdyby któryś z pracowników Google potrzebował podpowiedzi. 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
Ponadto warto dodać setgid prawa do katalogu: chmod g+s /var/www. Zapewni to, że pliki i katalogi utworzone w katalogu są własnością grupy, która jest właścicielem katalogu.
bwDraco,