Servidor SFTP
De El raconet d'en Jordi
Contingut |
Objectiu
Volem tenir un espai personal de disc accessible per xarxa a alumnes i professors.
Aquest espai es troba en un servidor Debian GNU/Linux Lenny a una partició RAID-1 (2 actius, 1 spare), i es realitzen còpies de seguretat setmanals. El servidor té un SAI APC. El conjunt dona una excel·lent seguretat i fiabilitat de les dades.
A més a més, tenim el discos durs (SATA 1,5TB) en calaixos removibles[1] i el maquinari del servidor duplicat, de forma que canviant els calaixos d'ordinador podem restablir el servei en qüestió de minuts en cas d'avaria.
Requisits
Partim d'un servidor amb Debian GNU/Linux Lenny i amb el paquet ssh instal·lat
Configuració
A /etc/ssh/sshd_config modifiquem la linia[2]
Subsystem sftp /usr/lib/openssh/sftp-server
per
Subsystem sftp internal-sftp
Trobareu més informació amb
# man sshd_config
Limitació dels usuaris (chroot)
Per evitar que els nostres usuaris puguin veure altres carpetes (sistema, arbre altres usuaris) afegim a aquest arxiu les linies:
Match group alum
ChrootDirectory /home/alum/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Match group prof
ChrootDirectory /home/prof/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ja que els usuaris tenen particions diferents pel seus espais, depenent de si son professors o alumnes.
Aquesta solució funciona correctament per a SFTP, però si intentem un SSH de consola la connexió no s'estableix. En el meu cas ja està bé, encara que m'agradaria més que donés un error explícit. En un altre entorn es podria configurar per permetre logins de ssh copiant els arxius necessaris [3]
Creació d'un usuari
una vegada creat un usuari de la forma tradicional, amb adduser, hem de fer alguns canvis.
Per exemple, per al professor jorts, el donem d'alta al sistema:
# adduser --home /home/prof/jorts --ingroup prof jorts
i modifiquem alguns paràmetres i creem algunes carpetes
# usermod -d / jorts #Ara el seu home és l'arrel del que veu
# chown root /home/prof/jorts #sftp necessita que l'arrel sigui propietat de root
# mkdir /home/prof/jorts/personal #espai personal
# chown jorts:prof /home/prof/jorts/personal #és el propietari
# chmod 700 /home/prof/jorts/personal #només ell hi pot treballar
# mkdir /home/prof/jorts/public_html #web personal
# chown jorts:prof /home/prof/jorts/public_html #és el propietari
# chmod 755 /home/prof/jorts/public_html #accessible al servidor web
Connexió des del GNOME
L'escriptori del GNOME permet una connexió fàcil al servei SFTP:
Connexió des de Windows
El programa Filezilla[4] permet una connexió tipus FTP, com es pot fer amb el gFTP amb GNU/Linux. Un programa molt interessant és el WinSCP[5], que permet una integració amb l'escriptori. Al meu cas he hagut d'activar manualment la codificació UTF-8 de caràcters per evitar problemes amb els accents als noms de fitxers.

