Mam serwer z systemem Ubuntu 12.10 x64 i ostatnią wersją vsFTPd.
Mój użytkownik example.com ma włączony folder domowy /var/www/example.com
,
Wewnątrz utworzyłem folder public_html, 777
nadałem mu uprawnienia i usunąłem uprawnienia do zapisu w folderze użytkownika domowego. Wszystko działa dobrze, ale:
Każdy plik przesłany przez FTP (za pomocą SmartFTP) otrzymuje wartość chmod równą 0.
Moja vsftpd.conf
powiązana była tylko jedna linia:
local_umask=022.
Próbowałem zmienić na:
file_open_mode=777
local_umask=002
Tak więc moje pliki zostaną 775
przesłane natychmiast po przesłaniu.
Ale tylko moje przesłane foldery otrzymują 775
uprawnienia.
Dostałem moje przesłane pliki 1411 permissions
Czy ktoś może mi pomóc w rozwiązaniu tego?
Odpowiedzi:
Skończyło się na tym
na stronie vsftpd.conf. Problem polegał na tym, że zarówno użytkownik FTP, jak i użytkownik www-data potrzebowali uprawnień do zapisu, więc musiałem dołączyć www-data i ftpuser do grupy użytkowników www-data, a CHMOD -R 775 wszystkie pliki na / var / www - w ten sposób, z 775 CHMOD grupa miałaby uprawnienia do odczytu, zapisu i wykonania. Teraz działa idealnie.
źródło
Mam odpowiedź:
Ponieważ www-data jest użytkownikiem odpowiedzialnym za serwer WWW, a twój normalny użytkownik jest odpowiedzialny za serwer ftp, musisz najpierw uczynić ich obojgiem członkami tej samej grupy: grupy www-data.
Tworzenie niestandardowego użytkownika:
useradd –d /var/www/asasd.com -g www-data -m yourusername
w ten sposób katalogiem domowym będzie /var/www/asasd.com, a użytkownik będzie w grupie danych www .następnie zmień hasło użytkownika, wpisując
passwd
.Następnie trzeba stworzyć public_html folderu wewnątrz twoja_nazwa_użytkownika katalogu domowym, jak FTP nie będą mogli pisać w głównym katalogu domowym, trzeba utworzyć podfolder.
Usuń uprawnienia do zapisu w folderze z twoją nazwą użytkownika
chmod a-w /var/www/asasd.com
Następnie zastosuj nowe uprawnienia do podfolderu:
chmod -R 775 /var/www/asasd.com/public_html
(pamiętaj, że musisz użyć 775 chmod, ponieważ potrzebujesz uprawnień do zapisu grupy, a nie uprawnień użytkownika do zapisu, ponieważ chcesz, aby cała grupa (ftp i www-data) była w stanie pisać). folder dla danych wwwchown -R www-data:www-data /var/www/asasd.com/public_html
W ten sposób musisz mieć możliwość korzystania z FTP i mieć działający serwer WWW.
Powodzenia!
Zabawne, że ta informacja jest tak trudna do znalezienia. Czy ludzie nie dzielą się już wiedzą?
źródło
Miałem również problem z tym, że uprawnienia do pliku zostały zmienione, gdy przesyłam plik przez ftp. Jest to naprawione przez zmianę jednej linii w moim
vsftpd.conf
local_umask=val(like 022,007,etc.,)
źródło
local_umask
musi być pojedynczą wartością i musi mieć0
prefiks dla wartości ósemkowej.musisz zmienić własność tego pliku:
źródło