Salta el contingut

MP08 - UF1: A6: Configuració d'un servidor proFTPD

Es tracta de configurar, esbrina com, un servidor proFTPD de manera que un grup d'usuaris accedirà a /var/www on trobarem els següents directoris amb les següents particularitats:

  • al directori /var/www/imatges/ hi puguin accedir i puguin pujar-hi i baixar fitxers.

  • al directori /var/www/manuals/ s'hi pugui accedir amb un usuari anònim i ens puguem descarregar els fitxers que hi hagi.

  • al directori /var/www/manuals/ hi puguem accedir amb un o varis dels usuaris del sistema per FTP i aquests puguin pujar-hi i baixar fitxers i també crear-hi directoris, si els cal.

Aprofitarem també per a ...

  • crear al nostre servidor web un alias per accedir al directori /var/www/imatges/, però sense veure el que hi ha. Només podrem accedir als fitxers si els posem l'adreça correcte. Per accedir a aquest directori utilitzarem el directori virtual /imatges/.
  • crear al nostre servidor web un alias per accedir al directori /var/www/manuals/ de manera que si hi entrem ens ensenyi la llista de tots els fitxers i directoris que hi ha. Per accedir a aquest directori utilitzarem el directori virtual /manuals/.

I com ajuda, res millor que la mateixa web del servei que hem instal·lat:

Què busco?

Per a poder configurar correctament un servidor FTP en proFtpd cal saber com funcionen, entre d'altres, les següents directives:

  • <Directory path>: per a especificar com tractem un directori, i tots els seus subdirectoris, determinat.

  • <Limit ...>: permet determinar qui pot o no pot fer quelcom en un "abast" (Global, Directory, etc...) determinat.

    Les principals opcions de LIMIT són: * CWD: canviar de directori * DIRS: veure el contingut d'un directori * READ: lectura * WRITE: escriptura * MKD: creació de directoris * RMD: eliminació de directoris * DELE: eliminació de fitxers * STOR: pujar fitxers al servidor * RETR: descarregar fitxers del servidor

  • umask ...: permet definir amb quins permisos es crearan els fitxers i/o directoris.

  • DefaultRoot i chroot: permet definir on és el HOME de l'usuari que es connecta i si queda o no engabiat dins aquell directori.

  • UserOwner i GroupOwner: permeten establir qui serà el propietari a nivell de usuari (owner) i grup (group) al sistema operatiu del servidor. Això ens permet connectar com un usuari determinat i deixar fitxers o directoris propietaris d'altres usuaris que en necessitin permís, per exemple, www-data que és l'usuari que executa el servidor web i per tant ha de tenir accés a tots els fitxers.

  • DefaultChdir: permet especificar un directori inicial en entrar per FTP diferent del HOME.

Important

Alguns d'aquests paràmetres sembla que han de portar el nom d'usuari, però en realitat cal indicar el nom del grup al que volem refereir-nos (DefaultChdir, DefaultRoot).

Com a curiositat, si mireu l'exemple de l'FTP anonim, veureu algunes opcions curioses com ara:

  • DirFakeUser: permet especificar un usuari propietari de tot el que veiem (de mentida).

  • DirFakeGroup: permet especificar un grup propietari de tot el que veiem (de mentida).

  • UserAlias: permet especificar un nom d'usuari alternatiu (alias) per a un usuari determinat, és a dir, podem identificar-nos amb un nom diferent del de l'usuari original. No és massa recomanable però sí que s'utilitza per l'usuari anònim.

I per si vols anar més enllà ...

Cal tenir els usuaris donats d'alta al nostre servidor com usuaris del sistema? Per descomptat que no! Esbrina com tenir usuaris que s'autentiquin però que les seves credencials estiguin emmagatzemades en una base de dades. Per on comencem? Prova la pàgina de proFtpd