Chciałbym skonfigurować podstawowy serwer FTP na instalacji Ubuntu Server. Gram z VSFTPD, ale mam problemy z uzyskaniem przez serwer możliwości tworzenia katalogów i kopiowania plików. Ustawiłem system, aby zezwalał lokalnym użytkownikom, ale wydaje się, że to nie znaczy, że dostaję dostęp do tworzenia katalogów. Może to być przypadek, w którym muszę być lepiej uziemiony w konfiguracji serwera Ubuntu, aby odpowiednio skonfigurować ten serwer FTP. Ostatecznym celem jest możliwość przenoszenia plików z mojego lokalnego folderu deweloperskiego do folderu www w celu wdrożenia. Katalogi również muszą być w stanie się przenosić. Każda pomoc byłaby bardzo mile widziana.
33
Odpowiedzi:
Polecę PureFTPD, ponieważ moim zdaniem jest to najprostszy i najłatwiejszy w użyciu. Najpierw musisz go zainstalować:
sudo apt-get install pure-ftpd
po zainstalowaniu uruchomi się. Domyślnie korzysta z uwierzytelniania PAM - co oznacza, że korzysta z kont, które już istnieją w systemie do uwierzytelniania. Wszystko, co musisz zrobić, to utworzyć konto użytkownika z katalogiem domowym będącym ścieżką www i ustawić hasło do tego konta. Powinieneś być w stanie połączyć się z tą kombinacją użytkownik / hasło, aby przesyłać / pobierać pliki.Coś takiego:
sudo adduser ftpman --home /var/www/ --ingroup www-data
Który stworzy
ftpman
użytkownika i umieści go w grupie danych www, z której korzysta Apache i przeprowadzi cię przez resztę skryptu instalacyjnego. Po zdefiniowaniu upewnij się,chmod
że folder WWW zawiera błędy, które już istnieją w utworzonej kombinacji użytkowników / grup.Na koniec, jeśli chcesz zablokować dostęp SSH dla tego konta, uruchom:
sudo chsh -s /bin/false ftpman
co spowoduje zmianę powłoki użytkownika na false. (Zamień ftpman na użytkownika ftp)źródło
chsh
Wydaje się, że uniemożliwia to także użytkownikom logowanie się przez FTP. Ustawienie z powrotem/bin/bash
umożliwia ponowne uruchomienie.Moim zdaniem SFTP to lepszy sposób. Hej, w nazwie ma słowo „bezpieczne”, musi być lepiej :)
SFTP używa ssh do przesyłania plików (w odróżnieniu od FTPS, który w zasadzie jest FTP + TLS). Oznacza to, że jeśli możesz ssh do komputera docelowego, prawie zawsze możesz do niego SFTP, ponieważ używa on tych samych mechanizmów uwierzytelniania, więc nie musisz wcale instalować i konfigurować różnych demonów serwera (tj. Bez pureftpd lub vsftpd). Tak długo, jak twoje uprawnienia są ustawione poprawnie
/var/www
- co jest prawdopodobnie kwestiąsudo chmod g+w /var/www; sudo usermod -g $USER -G www-data $USER
- powinieneś być w stanie natychmiast użyć SFTP.Obecnie większość oprogramowania klienckiego robi SFTP całkiem szczęśliwie, a także można korzystać
scp
z powłoki na serwerze deweloperskim, aby kopiować pliki (scp -R
kopiuje całe foldery i jest to bardzo przydatne). Możesz nawet przejść kolejny krok i zautomatyzować logowanie przy użyciu kluczy publicznych, co oznacza, że nie musisz już wpisywać haseł :)źródło
Zdecydowanie polecam użycie vsftpd. Jest to jeden z najbezpieczniejszych demonów FTP w systemie Linux. Wiele innych miało w przeszłości słabości i wydaje się, że FTP jest trudny do wdrożenia w bezpieczny sposób.
vsftpd uruchamia się zaraz po instalacji. Ubuntu umożliwia lokalnym użytkownikom logowanie się. Więc uruchom klienta FTP i zaloguj się jako normalny użytkownik za pomocą hasła systemowego (mój przykład używa lftp):
Teraz używam jakiegoś menedżera plików (Nautilus, Shell itp.), Aby utworzyć nowy katalog
foo
i wrócić do mojego klienta FTP:Katalog jest już dostępny i mogę z
cd
niego korzystać i korzystać z niego. To samo dotyczy również specjalnych użytkowników. Tam możesz także tworzyć katalogi, które są natychmiast dostępne. Ważne jest, aby poszukać praw dostępu.źródło
Pokornie polecam serwer FTP, który napisałem od zera: JetFTP . Jest niezwykle prosty w instalacji i obsłudze.
Instalacja:
Dodaj mój PPA do źródeł oprogramowania i zaktualizuj:
Uruchom następujące polecenie:
Korzystanie z JetFTP jest proste - wystarczy połączyć się z portem
8021
za pomocą nazwy logowania i hasła na komputerze, na którym działa JetFTP.źródło
Nie używaj ftp , jest to z natury niepewny protokół, ponieważ wysyła nazwę użytkownika i hasło w postaci jawnej do serwera. Wdrożenie sftp jest równie łatwe i zyskujesz ogromną przewagę w bezpieczeństwie swojego połączenia.
źródło
Istnieją trzy różne sposoby konfiguracji serwera ftp:
(1) Anonimowy FTP:
Ludzie mogą uzyskiwać dostęp do serwera tylko za pomocą anonimowego konta i bez hasła. Oczywiście administrator serwera ustawi limit przesyłania, aby uniemożliwić użytkownikom umieszczanie nielegalnych plików, takich jak piracka muzyka / filmy / gry.
(2) FTP z anonimowym dostępem i użytkownikami z hasłem konta:
Ta metoda umożliwia zarówno użytkownikom anonimowym, jak i użytkownikom kont dostępu do serwera. Będą mieli dostęp tylko do określonego katalogu, z wyjątkiem użytkownika root, który może przeglądać / modyfikować / usuwać wszystkie pliki i / lub foldery.
(3) FTP z obsługą mysql do uwierzytelniania użytkowników wirtualnych:
Ta metoda umożliwia dostęp do serwera tylko dla niektórych grup użytkowników, którzy nie mają konta powłoki uwierzytelniania użytkowników wirtualnych w systemie. Korzysta z zewnętrznego serwera mysql, który przechowuje informacje o użytkowniku.
Pierwsza opcja: anonimowy FTP
Przed rozpoczęciem tworzenia anonimowego serwera ftp musisz dodać użytkownika o nazwie ftp do swojego systemu, również z katalogiem domowym. Ten krok jest naprawdę łatwy, wystarczy wykonać następujące polecenia:
W ten sposób tylko to konto może zapisywać w tym folderze. Możesz użyć większej liczby zmiennych, aby określić, co zrobi serwer ftp. Oto kilka przykładów:
Druga opcja: „Użytkownicy kont anonimowych i z hasłem”
Aby umożliwić użytkownikom anonimowym i hasłem konta na tym samym serwerze, postępuj zgodnie z tym małym przewodnikiem:
Trzecia opcja: „Wirtualni użytkownicy z MySQL” ”
Aby utworzyć serwer z obsługą mysql, wykonaj następujące kroki:
Pobierz i zainstaluj Menedżera użytkowników dla PureFTPd, który można znaleźć tutaj http://machiel.generaal.net/index.php?subject=user_manager_pureftpd
Rozpakuj go i załaduj całą jego zawartość do katalogu www serwera WWW, a następnie napisz w przeglądarce ten link link http: //localhost/ftp/install.php Wykonaj wszystkie kroki, o które prosi instalator Skopiuj i zapisz rge pureftpd-mysql .conf do katalogu menedżera użytkowników pureftpd
Gotowy. Dostęp do panelu administracyjnego za pomocą tego linku http: // localhost / ftp
Więcej opcji do dodania przed uruchomieniem procesu serwera
I zobacz to dla niektórych aplikacji serwera ftp:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html
źródło
Domyślna instalacja VSFTPD domyślnie nie pozwala na tworzenie / modyfikowanie zmian . Musisz edytować
/etc/vsftpd.conf
i odkomentować następujący wiersz ...write_enable=YES
Po drugie, musisz skonfigurować odpowiednie uprawnienia systemu plików dla odpowiednich plików i folderów.
źródło