--- title: Ftp Training tags: smx, asix, ftp description: View the slide with "Slide Mode". slideOptions: spotlight: enabled: true --- # ftp training [TOC] # atenció a la configuració del server ## TLSOptions ```bash= TLSOptions AllowClientRenegotiations NoSessionReuseRequired ``` # accés no interactiu a servidors ftp ## curl (ús puntual) ### descàrrega (download) ```bash= curl -O --user ubuntu --ftp-ssl ftp://demo05.test/public_html/index.html ``` ### càrrega ```bash= curl -T /tmp/dades.txt ftp://ubuntu:ubuntu@ftpserver -k --ftp-ssl curl -u test01:c0ntr@sseny@01 --upload-file /tmp/test.txt ftp://ftpserver/dades02.txt ``` ## rclone (ús intensiu) https://rclone.org/ *Rclone permet definir **"remots"** (accessos a serveis remots, com ara ftp/ftpes/s3/dropbox/google drive/...) i efectuar operacions sobre aquests remots (al invocar-los cal posar ":" darrere del nom del remot)* ### instal·lació (comprova que siga l'última versió) ```bash= wget https://downloads.rclone.org/v1.61.1/rclone-v1.61.1-linux-amd64.deb && sudo dpkg -i rclone-v1.61.1-linux-amd64.deb ``` ### configuració ```bash= rclone config ``` ### ús rclone Sincronitzat entre local i remot (o el contrari també) :warning: Alerta: esborra els fitxers no existents en el destí (al final de l'execució tindràs només el contingut de l'origen en el destí) ```bash= rclone sync web/avana remot-ftp:public_html ``` ### altres El "muntat" de sistemes remots permet entre d'altres la comparació de fitxers amb diff o l'edició de fitxers remots amb vi (no seria la manera més elegant (ni sistemàtica, ni segura) d'operar però ahí està l'opció per a una "emergència") ```bash= rclone mount ftpmountdir remot-ftp:public_html ``` ## lftp (reemplaçat per rclone. Motiu: no mantingut des de 2020) # accés amb comptes virtuals (via fitxer) ## crear el fitxer de configuració virtual_users.conf ```bash= ### -- ## -- fitxer de configuracio (virtual_users.conf a /etc/proftpd/conf.d ) ### -- # no permetre que els comptes retrocedesquen ("pugen") en l'arbre de directoris DefaultRoot ~ RequireValidShell off # fitxer associat per als comptes virtuals AuthUserFile /etc/proftpd/ftpd.passwd # no crearem grups per compartir info entre els comptes virtuals ## AuthGroupFile /etc/proftpd/ftpd.group # Sols permetre l'acces amb comptes virtuals AuthOrder mod_auth_file.c # si vulguerem que tambe els comptes del sistema ho feren... ## AuthOrder mod_auth_file.c mod_auth_unix.c ``` ## creació del compte i directori ### opció manual #### crear el fitxer de passwords ```bash= echo 'c0ntr@sseny@02' | sudo ftpasswd --stdin --passwd --file=/etc/proftpd/ftpd.passwd --name=test02 --uid=15002 --gid=15002 --home=/home/proftpd/test02 --shell=/bin/false ``` #### crear el directori personal ```bash= sudo mkdir -m 700 -p /home/proftpd/test02 sudo chown 15002 /home/proftpd/test02 ``` ### opció semi-automàtica (aprofitem la creació de comptes del sistema) ```bash= # crear el compte sudo useradd -u 15007 -b /home/proftpd -m -s /bin/false test07 #esborrar-lo (conservant el directory: no porta el "-r") sudo userdel test07 # crear el compte virtual echo 'c0ntr@sseny@07' | sudo ftpasswd --stdin --passwd --file=/etc/proftpd/ftpd.passwd --name=test07 --uid=15007 --gid=15007 --home=/home/proftpd/test07 --shell=/bin/false ```