Raspberrypi.vsftpd
Zurück zur Hauptseite raspberrypi
- Grund-Konfiguration
- Ich betreibe den Raspberry PI als FTP Server
- Mit dem eigenen LAN - Interface ist Raspi am Internet angeschlosse
- Mit einem USB-LAN Adapter hängt er am internen Netz
- wegen Routing-Problemen verwende ich hier eine feste IP-Adresse
- Im Folgenden sind die Konfigurations-Dateien dokumentiert
Vorbereitung
apt-get install vsftpd groupadd www
vsftpd.conf
# Core Settings # listen=YES ftpd_banner="Welcome to pi2x01 at orgamon.de FTP-service." use_localtime=YES listen_ipv6=NO local_umask=0000 dirmessage_enable=YES ls_recurse_enable=YES # Logging # xferlog_enable=YES log_ftp_protocol=YES vsftpd_log_file=/var/log/vsftpd.log xferlog_file=/var/log/vsftpd-xfer.log xferlog_std_format=YES syslog_enable=NO dual_log_enable=YES # PASV # #pasv_addr_resolve=YES pasv_address=IP.DEINES.SERVER.S pasv_min_port=21000 pasv_max_port=21999 pasv_promiscuous=YES # Authentification # write_enable=YES anonymous_enable=NO # # für den Raspi # secure_chroot_dir=/var/run/vsftpd/empty # # für OpenSuSE # secure_chroot_dir=/usr/share/empty pam_service_name=vsftpd local_enable=YES chroot_local_user=YES allow_writeable_chroot=YES #nopriv_user=ftpsecure # SSL # rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO
Benutzer anlegen
useradd --home /srv/ftp/user --groups ftp --gid www --shell /bin/bash user echo "user:password" | chpasswd
2. LAN INterface mit einem USB 2.0 <-> LAN Adapter
- "Amazon B0174PBLNS" einfach einstecken wird erkannt:
[ 5112.587570] usb 1-1.4: new high-speed USB device number 4 using dwc_otg [ 5112.730588] usb 1-1.4: New USB device found, idVendor=0b95, idProduct=772b [ 5112.730606] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 5112.730617] usb 1-1.4: Product: AX88772C [ 5112.730627] usb 1-1.4: Manufacturer: ASIX Elec. Corp. [ 5112.730636] usb 1-1.4: SerialNumber: 00008E [ 5114.284487] asix 1-1.4:1.0 eth1: register 'asix' at usb-3f980000.usb-1.4, ASIX AX88772B USB 2.0 Ethernet, 00:0e:c6:c8:2f:5e [ 5114.285904] usbcore: registered new interface driver asix [ 5114.519130] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready [ 5115.931438] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready [ 5115.935282] asix 1-1.4:1.0 eth1: link up, 100Mbps, full-duplex, lpa 0xC5E1
/etc/network/interfaces
source-directory /etc/network/interfaces.d auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto eth1 iface eth1 inet static address 192.168.115.40 netmask 255.255.255.0
domadd.pas
PathPrefix := cHtdocs; if (pos('ftp-',pUser)=1) or (pUser='incoming') then PathPrefix := cFtdocs; // Benutzer hat ev. einen numerischen Namen? if (pUser[1] in ['0'..'9']) then begin uUser := 'u' + pUser; end else begin uUser := pUser; end; // Add User Exec('useradd'+ ' --home '+PathPrefix+pUser+ ' --groups ftp'+ ' --gid www'+ ' --shell /bin/bash'+ ' '+uUser ); // Set Password Exec('echo "'+uUser+':'+pPassword+'" | chpasswd');
Diagnose
- Alle Benutzer der Gruppe "ftp" auflisten:
cat /etc/group | grep ftp:
Benutzerliste
userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO
via SSH
Fritz!Box
- die Fritz!Box hat eine Limitierung, die es nicht ermöglicht einen Portbereich auf einmal freizugeben der grösser ist als 254 Ports
- es muss also eine Internetfreigabe in 4 Blöcken erfolgen
ftp-data-1 TCP 21000 - 21254 ftp-data-2 TCP 21255 - 21509 ftp-data-3 TCP 21510 - 21764 ftp-data-4 TCP 21765 - 21999 FTP-Server TCP 21