Outils pour utilisateurs

Outils du site


doc:formations:hebergement:serveur:transfert_de_fichiers

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
doc:formations:hebergement:serveur:transfert_de_fichiers [2022/12/05 09:21] – créée jeremiedoc:formations:hebergement:serveur:transfert_de_fichiers [2022/12/05 10:39] (Version actuelle) – [Quota] jeremie
Ligne 1: Ligne 1:
 ====== Transfert de fichiers sécurisé ====== ====== Transfert de fichiers sécurisé ======
  
-On peut utiliser différentes méthodes, et l'une des plus "facile" reste SFTP (secure FTP).+On peut utiliser différentes méthodes, 
 +  * si vous avez déjà un accès ssh, vous pouvez déjà utiliser ''scp'' ou ''rsync'' 
 +  * sinon on va configurer un accès spécifique et limité à SFTP (secure FTP)
  
-Pour se faire: on crée un utilisateur sur le serveur et une zone dédiée aux échanges:+===== SFTP ===== 
 + 
 +On va créer un utilisateur dédié ''filez'' ainsi qu'une zone dédiée aux échanges sur le serveur (idéalement sur une partition à part pour ne pas laisser la possibilité aux utilisateurs de saturer une partition importante pour le serveur!)
  
   adduser filez   adduser filez
 +
 +  chown -R root:root /home/filez
   chmod go-rwx /home/filez   chmod go-rwx /home/filez
 +
   mkdir -p /sftp/filez/incoming   mkdir -p /sftp/filez/incoming
   chown filez:filez /sftp/filez/incoming   chown filez:filez /sftp/filez/incoming
    
-Que l'on bride au niveau du ''/etc/ssh/sshd_config'':+Et bride cet accès depuis le fichier de configuration du service SSH, ''/etc/ssh/sshd_config'':
  
 <code> <code>
Ligne 26: Ligne 33:
 </code> </code>
  
 +Notez ci-dessus
 +  * on permet une identification par mot de passe spécifiquement pour ''filez'', afin de faciliter la vie des utilisateurs.
 +  * on interdit les autres usages de ssh, et on n'autorise que le sftp
 +  * ''internal-sftp'' est spécifié (à la place de la valeur par défaut de subsystem)
 +  * et on utilise un ''chroot'' afin de verrouiller l'utilisateur dans son dossier ''/sftp/filez/''
 +
 +Ensuite, on peut utiliser la commande ''sftp'' (qui se repose sur son ''$HOME/.ssh/config'') ou bien un client interactif comme [[https://filezilla-project.org/|FileZilla]] plus accessible pour la plupart des utilisateurs. Pensez à bien sélectionner le protocole "SFTP" via l'icone de gauche dans la barre des icones, afin de configurer la connexion:
 +
 +{{:doc:formations:hebergement:serveur:filezilla_config_sftp.jpg?500|}}
 +
 +===== Quota =====
 +
 +Il y a plusieurs façons de limiter la taille d'un dossier avec des quotas, mais la plus simple reste d'avoir une partition dédiée, physique ou virtuelle.
 +
 +==== Partition virtuelle dans un fichier ====
 +
 +On crée un fichier ''/sftp/volume.img'' de 5GO que l'on va utiliser comme une partition virtuelle:
 +
 +  mkdir /sftp
 +
 +  dd if=/dev/zero of=/sftp/volume.img bs=1G count=5
 +  mkfs -t ext4 /sftp/volume.img
 +
 +On va le monter en tant que "loop device":
 +
 +  mount -t auto -o loop /sftp/volume.img /sftp
 +
 +Désormais ''/sftp'' montre le système de fichier à l'intérieur du fichier ''/sftp/volume.img''.
 +Le fichier image semble avoir disparu car on l'a monté sur le dossier qui le contient lui-même !
 +
 +  # Il faut (donc) recréer le dossier vu précédemment:
 +  mkdir -p /sftp/filez/incoming
 +  chown filez:filez /sftp/filez/incoming
 +
 +On peut voir l'occupation disque associée:
 +
 +  df -hl /sftp
 +  # Filesystem      Size  Used Avail Use% Mounted on
 +  # /dev/loop1      4.9G   32K  4.6G   1% /sftp
 +
 +On peut ajouter cette ligne à ''/etc/fstab'' pour que le montage soit fait au reboot:
 +
 +  /sftp/volume.img  /sftp  ext4  loop 0 0
 +
 +Pour retirer le montage et détruire le volume (ex. après usage):
 +
 +  umount /sftp
 +  rm /sftp/volume.img
 +
 +
 +==== LVM ====
 +
 +Si vous avez partitionné votre disque dur avec LVM, vous pourrez aisément modifier la taille de la partition (''apt install lvm2''):
 +
 +<code>
 +# Créer un espace virtuel de 10GO nommé "sftpdata" dans le groupe de volumes "vg0"
 +lvcreate -L 10G -n sftpdata vg0
 +
 +# On le formatte en ext3
 +mke2fs -j /dev/vg0/sftpdata
 +
 +# On le monte (en général vous voudrez l'indiquer dans /etc/fstab pour que ce soit rémanent)
 +mount /dev/vg0/sftpdata /sftp
 +</code>
 +
 +Ensuite on peut facilement étendre la taille du système de fichier virtuel associé:
 +
 +<code>
 +# Ajouter 2GO d'espace au volume:
 +lvextend -L +2g /dev/vg0/sftpdata
 +
 +# Puis on retaille le système de fichier:
 +resize2fs /dev/vg0/sftpdata
 +</code>
doc/formations/hebergement/serveur/transfert_de_fichiers.1670232092.txt.gz · Dernière modification : 2022/12/05 09:21 de jeremie