Forum Linux.général SFTP, Chroot et utilisateurs

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
-1
6
avr.
2016

Bonjour tout le monde,

Dans le cadre d'un TP pour mes études, je dois instauré un système ou les utilisateurs puissent accéder uniquement à leurs dossiers via SFTP.

Une entreprise fictif fournit un espace web sur le serveur aux clients. Le client pourra donc acceder a son répertoire pour transferer/supprimer des fichiers pour les mettres qui sera mis en ligne via Apache.
Le client doit voir et acceder à son dossier uniquement, le dossier lui sera limité à 20Mo.

Sur le serveur j'ai déjà installé :
- Apache2
- MySQL
- PHPMyAdmin
- OpenSSH Server

J'ai pensé à créer un repertoire dans, par exemple, /home/sftp
Dans ce repertoire il y aurai un dossier pour chaque utilisateurs, exemple :
/home/sftp/rUser1
/home/sftp/rUser2

rUser1 et rUser2 sera visible respectivement que pour User1 et User2.

Comment puis-je faire s'il vous plaît ? J'ai déjà essayer de modifier le fichier sshd_config mais au moment de restart le service il me met des erreurs. Il ne reconnait pas les entrés "Match Group" "ForceCommand" etc.

Merci de bien vouloir m'aider :)

  • # Documentation

    Posté par  . Évalué à 2.

    Page manuel du fichier sshd_config.

    Il faut que tu commences pas là. Après si tu as des erreurs de syntaxe c'est que les options sont mal écrites dans le fichier.
    Après pour l'accès FTP tu peux regarder du côté de la directive ChrootDirectory (tu peux lui spécifier des formats, par exemple si tu tapes ChrootDirectory "/home/sftp/r%u" dans ton bloc Match quand User1 se connectera il le placera dans un chroot qui aura sa racine dans /home/sftp/rUser1).

    • [^] # Re: Documentation

      Posté par  . Évalué à 1.

      Je teste ça ce soir !

      Merci ! :)

    • [^] # Re: Documentation

      Posté par  . Évalué à 3. Dernière modification le 07 avril 2016 à 08:43.

      Petit complément, voici une config que j'utilise pour des sauvegardes :

      Match Group pcbackup
             ChrootDirectory /backup/%u
             ForceCommand internal-sftp 
             AllowTcpForwarding no
             X11Forwarding no

      Petite note, le dossier du chroot doit appartenir à root et les droit drwxr-xr-x . Il ne pourra donc pas écrire dedans directement. Il faudra lui créer un dossier utilisateur dedans. Ça sera donc ChrootDirectory "/home/sftp/r%u/r%u" son vrai home dans ton cas. Tous cela est dans le man.

      • [^] # Re: Documentation

        Posté par  . Évalué à 3.

        Et…

        Si son home est /home/sftp/r%u/r%u, il devrait tomber directement dedans. Avec les bon droits, on peut se passer du dossier r%u intermédiaire. Mais tous les utilisateurs auront le même chroot et il y aura bien un utilisateur pour donner les droits de lecture ou plus à tout le monde. La sécurité est donc plus fragile et un dossier en plus ne coute pas grand chose.

  • # Erreur sshd_config

    Posté par  . Évalué à 1.

    Je me permet de vous faire un retour,

    J'ai bien modifier le sshd_config en ajoutant :

    Subsystem sftp internal-sftp
    Match Group sftp_chroot
    ChrootDirectory /home/sftp/r%u
    AllowTCPForwarding yes

    Après un /etc/init.d/sshd restart voilà le message d'erreur affiché :
    Stopping sshd: [ OK ]
    Starting sshd:/etc/ssh/sshd_config: line 97: Bad configuration option: Match
    /etc/ssh/sshd_config: line 98: Bad configuration option: ChrootDirectory
    /etc/ssh/sshd_config: terminating, 2 bad configuration options
    [FAILED]

    Je sais plus quoi faire :/

    • [^] # Re: Erreur sshd_config

      Posté par  . Évalué à 2.

      Si les lignes 97 et 98 correspondent à ChrootDirectory /home/sftp/r%u et AllowTCPForwarding, as-tu bien respecter la tabulation dans le bloc Match ?

  • # screenshot sshd_config

    Posté par  . Évalué à 1.

    Voici ce que j'ai ajouté dans mon fichier sshd_config :

    Titre de l'image

    Toujours les mêmes erreurs lors du restart de SSH :c

    • [^] # Re: screenshot sshd_config

      Posté par  . Évalué à 2.

      C'est bien un problème d'indentation. Il faut rajouter exactement cela :

      Subsystem sftp internal-sftp
      
      Match Group sftp_chroot
          ChrootDirectory /home/sftp/r%u
          AllowTCPForwarding yes
      
      • [^] # Re: screenshot sshd_config

        Posté par  . Évalué à 1.

        Titre de l'image

        Je comprend vraiment pas d'ou peut venir le problème, c'est fou !

        • [^] # Re: screenshot sshd_config

          Posté par  . Évalué à 3.

          Hormis le TCP de AllowTcpForwarding qui doit être en partie en minuscule, je ne vois pas. J'ai testé telquel sans problème.

          Quelle version ( voir distribution ) de sshd utilises-tu ?

          • [^] # Re: screenshot sshd_config

            Posté par  . Évalué à 1.

            J'utilise RHEL3, la version de mon sshd_config est la v1.59.
            C'est à n'y rien comprendre n'empêche !

            • [^] # Re: screenshot sshd_config

              Posté par  . Évalué à 3.

              RHEL3 a quand même 12 ans et n'est plus maintenu depuis un moment. Je ne sais pas si la version embarquée de ssh surporte ces options. Sont-elles dans le man sshd_config ?

              • [^] # Re: screenshot sshd_config

                Posté par  . Évalué à 1.

                Je débute en linux, le serveur sur lequel je travail est une ancienne machine de production d'entreprise.
                Qu'est ce que le man sshd_config ?

                • [^] # Re: screenshot sshd_config

                  Posté par  . Évalué à 2.

                  man est une commande permettant d'obtenir de l'aide en ligne.
                  man sshd_config permet d'obtenir l'aide en ligne du fichier de configuration sshd_config de ssh.

                  Si tu as la possibilité de mettre à jour l'OS, fais-le. Mets une Centos 7, c'est très proche de la RHEL 7. Je pense que ça devrait passer si ton serveur à au moins 256 voir 512Mo de mémoire. Ça te fera de l'expérience.

                • [^] # Re: screenshot sshd_config

                  Posté par  . Évalué à 1. Dernière modification le 08 avril 2016 à 14:57.

                  Trouvé !

                  Non, les directives Match ni Chroot ne sont pas indiqués dans le man du sshd_config.
                  Je suppose donc que je ne peux pas le faire sous RHEL3 ? :c

                  • [^] # Re: screenshot sshd_config

                    Posté par  . Évalué à 3.

                    Si c'est possible, ça serait très difficile je pense et hors de ta porté.

                    Le plus instructif pour toi sera de réinstaller un linux à jour.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.