====== vsftpd ======
**vsftpd** (skrót od: //Very Secure FTP Daemon//) to popularny, szybki i bezpieczny [[serwery:ftp|serwer FTP]] dla systemów Linux/Unix.
Poniżej znajduje się instrukcja instalacji i konfiguracji serwera FTP na systemie Fedora, umożliwiająca udostępnianie plików innym komputerom w sieci lokalnej.
=====Instalacja vsftpd=====
* Aby zainstalować serwer FTP **vsftpd** na Fedora, wykonaj poniższe polecenie:
''sudo dnf install vsftpd''
* Sprawdź, czy serwer został zainstalowany poprawnie:
''vsftpd -version''
* Po zainstalowaniu możesz już uruchomić serwis **vsftpd**:
''sudo systemctl start vsftpd''
* Ustaw automatyczne uruchamianie przy starcie systemu:
''sudo systemctl enable vsftpd''
=====Konfiguracja serwera FTP=====
* Plik konfiguracyjny **vsftpd** znajduje się w katalogu:
''/etc/vsftpd/''
* Otwórz go w edytorze tekstowym.
====Zalecane ustawienia====
===Chrootowanie użytkowników===
Aby zapobiec wychodzeniu użytkowników poza ich katalogi domowe, upewnij się, że linia ''chroot_local_user'' jest ustawiona na ''YES'':
''chroot_local_user=YES''
===Zezwolenie na logowanie anonimowe===
Jeśli chcesz umożliwić logowanie anonimowe, upewnij się, że linia ''anonymous_enable'' jest ustawiona na ''YES'':
''anonymous_enable=YES''
===Zezwolenie na logowanie lokalnych użytkowników===
Możesz umożliwić logowanie lokalnym użytkownikom systemowym przez FTP:
''local_enable=YES''
===Używanie binarnego trybu transferu plików===
''ascii_upload_enable=NO''
''ascii_download_enable=NO''
**Zapisz plik i zamknij edytor.**
=====Utworzenie użytkownika FTP=====
* Utwórz katalog, który chcesz udostępniać:
''sudo mkdir -p /home/jakis_user/FREE''
* Nadaj odpowiednie uprawnienia:
''sudo chown ftp:ftp /jakis_user/FREE''
''sudo chmod 755 /home/jakis_user/FREE''
* Skonfiguruj jego katalog domowy na katalog udostępniany:
''sudo usermod -d /home/jakis_user/FREE''
* Ustaw chroot, aby użytkownik był ograniczony do swojego katalogu:
Dodaj ftpuser do pliku:
echo "ftpuser" | sudo tee -a /etc/vsftpd/user_list
- Jeśli chcesz utworzyć specjalnego użytkownika FTP, wykonaj następujące polecenie:
''sudo useradd jakis_uzytkownik sudo passwd jakies_haslo''
- Przypisz odpowiednie uprawnienia do katalogu, który będzie używany przez tego użytkownika, np. ''/home/jakis_uzytkownik/FREE'':
''sudo mkdir /home/jakis_uzytkownik/FREE sudo chown jakis_uzytkownik
/home/jakis_uzytkownik/FREE''
=====Restart serwera FTP=====
Po dokonaniu zmian w pliku konfiguracyjnym, należy zrestartować serwis **vsftpd**, aby zastosować zmiany:
''sudo systemctl restart vsftpd''
=====Sprawdzanie statusu serwera FTP=====
Aby sprawdzić, czy serwer FTP działa poprawnie, użyj polecenia:
''sudo systemctl status vsftpd''
=====Połączenie z serwerem FTP=====
Po skonfigurowaniu serwera FTP, możesz połączyć się z nim z lokalnej maszyny, używając klienta FTP, np. **ftp**:
''ftp localhost''
Zostaniesz poproszony o podanie nazwy użytkownika i hasła. Po poprawnym zalogowaniu, możesz przesyłać pliki na serwer FTP oraz pobierać je.
=====Dodatkowe ustawienia=====
* **Zezwolenie na połączenia tylko z określonego adresu IP lub z sieci lokalnej**:
W pliku ''/etc/vsftpd/vsftpd.conf'' dodaj:
listen_address=192.168.1.1 # Podaj adres IP serwera FTP
* **Sprawdzenie logów**: Aby sprawdzić logi serwera FTP, użyj komendy:
''sudo journalctl -u vsftpd''
=====Problemy i rozwiązywanie problemów =====
* Jeśli napotkasz błąd związany z **chroot()**, upewnij się, że w pliku ''/etc/vsftpd/vsftpd.conf'' masz ustawioną opcję ''chroot_local_user=YES''. Jeśli nadal występują problemy, sprawdź plik ''chroot_list'' lub upewnij się, że masz odpowiednie uprawnienia do katalogów użytkowników.
=====Konfiguracja zapory sieciowej=====
Otwórz porty FTP w zaporze:
''sudo firewall-cmd --add-service=ftp --permanent''
''sudo firewall-cmd --reload''
==Kategoria serwery==
{{indexmenu>:serwery:ftp#1}}
{{pagebox>pagebox:kategorie}}