piątek, 9 listopada 2018

FTP na Ubuntu Serwer


Na bazie vsftpd zainstalujemy serwer FTP. Dużo się nie rozpisując, można tylko powiedzieć, że taki serwer przyda nam się w wielu sytuacjach. Zamiast np. pobierać pliki przy pomoc komendy wget, można pobrać plik na dowolnym komputerze i przesłać go do konkretnego folderu przy pomocy klienta FTP. Ale to innym razem.


Zaczynamy!

1 Instalacja vsftpd


sudo apt-get install vsftpd

2 Konfiguracja pliku vsftpd.conf


sudo /etc/init.d/vsftpd stop

sudo mcedit /etc/vsftpd.conf

# Zabronienie na logowanie się użytkownikom anonimowym, domyślnie jest to YES

anonymous_enable=NO !

# Zezwolenie na logowanie się użytkownikom lokalnym, domyślnie jest to NO

local_enable=YES !

# Zezwolenie na zapis w katalogu użytkownika lokalnego

write_enable=YES

# Ograniczenie użytkownikom do poruszania się jedynie w obrębie katalogu domowego

chroot_local_user=YES

local_umask=022 !

allow_writeable_chroot=YES !

(parametry dodać jeśli nie istnieją w pliku)

(wyjaśnienia parametrów szukac w sieci ;)

3 Modyfikacja pliku shels


/etc/shells

dodajemy linijkę

/usr/sbin/nologin

4 Srawdzamy plik sftpd


/etc/pam.d/vsftpd

linijkę

auth required pam_shells.so

5 Startujemy vsftpd


sudo /etc/init.d/vsftpd start

sudo /etc/init.d/vsftpd restart (to komenda do ewentualnego restartu)

7 Dodatkowe informacje

# Poziom z którego zostaje uruchomiony serwer

nopriv_user=


# Uruchamianie serwera w trybie standalone

listen=

# Określenie portu, na którym serwer ma nasłuchiwać (domyślnym jest port 21)

listen_port=

# Zabronienie na logowanie się użytkownikom anonimowym, domyślnie jest to YES

anonymous_enable=

# Zezwolenie na logowanie się użytkownikom lokalnym, domyślnie jest to NO

local_enable=

# Zezwolenie na zapis w katalogu użytkownika lokalnego

write_enable=

# Umask (w większości serwerów używany jest 022)

local_umask=

# Umask dotyczący anonimowych

anon_umask=022

# limit szybkości podawany jest w bajtach na sekundę, jeśli jest ustawiony na 0 to brak jakiegokolwiek limitu.

local_max_rate=

# Włączenie logowania

xferlog_enable=

# Ścieżka do pliku z logami

xferlog_file=/var/log/vsftpd.log

# Maksymalna liczba połączonych użytkowników

max_clients=

# Maksymalna liczba użytkowników mogących się połączyć z tego samego adresu IP

max_per_ip=

# Banner, który będzie wyświetlany podczas logowania. W jego stworzeniu może być pomocny program app-misc/figlet.

banner_file=/etc/vsftpd/vsftpd.banner

# Ograniczenie użytkownikom do poruszania się jedynie w obrębie katalogu domowego

chroot_local_user=

# Katalog dla chroot’a
secure_chroot_dir=/var/chroot/vsftpd

# Dodanie użytkowników, którzy mogą poruszać się poza katalogiem domowym

chroot_list_enable=YES

# Dodajemy użytkownika z przywilejami poruszania się poza katalogiem domowym np:

# echo „użytkownik” >> /etc/vsftpd/chroot.list

chroot_list_file=/etc/vsftpd/chroot.list




# Serwer nie będzie pytał o hasło, podczas logowania na anonymous:




no_anon_password=




# Pozwalamy na download plików, które będą miały ustawione prawa do odczytu (readable):




anon_world_readable_only=




# Zabraniamy na upload plików:




anon_upload_enable=




# Ukrywamy prawdziwych użytkowników oraz grup dla plików lub katalogów




# (vsftpd zamieni je na nazwy użytkownika odpowiedzialnego za anonimowy ftp):




hide_ids=




# Pozwala na tworzenie katalogów




anon_mkdir_write_enable=




# Pozwala na kasowanie i zmienianie nazw katalogów przez anonimowych




anon_other_write_enable=




# Pozwala ograniczyć transfer dla anonimowych




anon_max_rate=




# Maxymalny czas bezczynności




idle_session_timeout=300







# Sam decydujesz czy mogą się łączyć Aktywnie czy Pasywnie




connect_from_port_20=NO




# Ustawione na NO zablokuje polecenia PORT i ustawi serwer w tryb pasywny (lepiej YES)




port_enable=YES




# Pozwala ograniczyć możliwość wydawania komand do minimum(możemy zabronić ściągania, sprawdzania wielkości plików itp), pełna lista możliwość tutaj -> http://www.nsftools.com/tips/RawFTP.htm







cmds_allowed=







# Ciekawą opcją jest także `user_config_dir`, która pozwala przyporządkować dowolnemu użytkownikowi w systemie konkretne opcje. Mogą to być np. takie opcje jak listen_address, banner_file, max_per_ip, max_clients, xferlog_file, vsftpd_log_file, itp. Definiujemy więc ścieżkę do takiego katalogu, oraz tworzymy go w systemie. Po zdefiniowaniu tej opcji w pliku konfiguracyjnym, vsftpd będzie automatycznie szukał pliku, który nosi taką samą nazwę jak użytkownik systemowy. Na przykład dla użytkownika `tomek` takim plikiem będzie /usr/local/etc/vsftpd/user_conf/tomek, w tym właśnie pliku będziemy ustawiać konkretne opcje dla tego użytkownika.







user_config_dir=/usr/local/etc/vsftpd/user_conf/







# Opcja ta pokazuje informację o procesie systemowym vsftpd, inaczej mówiąc pokazuje co dany użytkownik robi po połączeniu się z naszym serwerem




setproctitle_enable=YES







Uruchamianie







Jeżeli posiadamy tylko jeden plik konfiguracyjny to możemy po prostu wydać polecenie /etc/init.d/./vsftpd start







Jeżeli posiadamy parę plików konfiguracyjnych to musimy każdy osobno załadować :







vsftpd /etc/vsftpd.conf.annonymus







vsftpd /etc/vsftpd.conf.normalny







vsftpd /etc/vsftpd.conf.bartek


Brak komentarzy:

Prześlij komentarz

ZeroTier - Wirtualny Switch na Ubuntu 18.04

1. Instalacja Zerotier-One curl -s https://install.zerotier.com | sudo bash 2. Instalacja pakietów ZeroTier curl -O https:...