Lexpage, élevé au php !    —  GDI

Discussions

FTP sous linux

Marcant 1160 Flooder
Une fois n'est pas coutume, je viens demander de l'aide ici parce que je ne peux pas me fier à mes gentils collègues.

Dans le cadre d'un projet, on a du monter un serveur CentOS 6.3 avec un service SFTP.
On à créé une multitude de sous répertoire qui serviront de boites d'échange FTP.

Jusque là tout va bien, mais ça se corse un peu après et c'est là, que je ne peux plus me fier à mes collègues.

Il faudrait que chacune de ces "boites" aient un user dédié qui à le droit en écriture et lecture sur sa seule "boite" (il ne peut pas avoir le droit de visionner un fichier d'une autre "boite".
Mais en plus, il faudrait un user général qui lui aurait le droit de lecture et d'écriture sur toutes les boites.

ex :
boite 1 (user1 + admin)
boite 2 (user2 + admin)
boite 3 (admin)

J'imagine que ca doit être possible et même facile mais je pense que le gars qui gère ca chez nous, ne s'y connait, ni en FTP, ni en CentOS, donc il lui faut toujours 1 journée pour me modifier un seul droit et généralement, il fout le brin pour les autres boites...

Quelqu'un pourrait-il me donner les commandes à réalisé pour faire ca ?
Si possible, je demanderais à avoir les droit sur le serveur pour gérer ca moi-même.
J'ai cherché sur le net, mais c'est pas évident de trouver de bonne idée, on trouve à boire et à manger et, sans vraiment si connaitre c'est dur de rapidement trouver ce que l'on cherche.
Merci.
Tchou 3555 Bob
ou sftp ?

En ftp, tu peux chrooter à la home du user (traduction : faire en sorte que l'user voit comme racine de fichier son repertoire, en résumé il n'a accès qu'à un seul répertoire), je ne sais pas si c'est faisable en sftp. Par contre, mélanger chroot et non chroot, bof .... oh attends, si c'est faisable : le user admin a comme répertoire qui lui appartient /monftp/admin/ et appartient à un groupe décidé, les autres ont leur répertoire qui est un enfant de ce répertoire et appartiennent à ce fameux groupe dédié.

Cette machine est elle dans un réseau privé, ou hors du domaine (auquel cas le avec données en clair sur le réseau : :disgust: ) ? Parce que je sais que le chroot est faisable en (je l'ai fait via je crois vsftp proftpd), mais en sftp ??? Arrêtez-moi si j'me trompe, mais sftp c'est la config du ssh, et du coup, y'a pas mal de moyens de passer outre le blocage pour un habitué ! :D

Non, non, j'vous assure, ce message est intelligible, ce n'est pas un texte rempli de faux texte, ça a du sens ! :D


Ce message a été modifié 2 fois. Dernière modification : 9 mai 2014 à 10:19 par Tchou.

Marcant 1160 Flooder
Lol, pas tout compris mais...

oui, c'est du SFTP.

Donc, si j'ai bien compris :

admin à accès à /home/toutesboites
user1 à accès à /home/toutesboites/boite1
user2 à accès à /home/toutesboites/boite2
....

Pour moi, je pense que ce serait l'idéal.
Si c'est ca, tu sais me donner les commandes pour définir ça ?

Un grand merci.
Tchou 3555 Bob
Oui c'est ça. Et il est possible de chrooter le ssh. Par contre, bien le faire est un brin complexe pour des histoires de sécurités et de vulnérabilités.

Non, j'aurais pas le temps de te sortir les démarches, je vais être off-line quelque temps et je devrai déjà l'être. Désolé. "chroot ssh" ou sftp, tu devrai trouver énormément de ressources avec ça. Les sites sérieux pour trouver ça : le wiki archlinux extrèmement complet, le forum debiant, stack-overflow et sa famille (superuser, security, ...)


Ce message a été modifié 1 fois. Dernière modification : 9 mai 2014 à 10:29 par Tchou.

Marcant 1160 Flooder
Merci Tchou, je vais regarder si je trouve de quoi m'aider !
roidelapluie 339 Maitre jedi
Dans sshd_config
Match User user1
ForceCommand internal-sftp
ChrootDirectory /chroot/user1

Match User user2
ForceCommand internal-sftp
ChrootDirectory /chroot/user2

Match User admin
ForceCommand internal-sftp
ChrootDirectory /chroot


Ce message a été modifié 1 fois. Dernière modification : 9 mai 2014 à 10:56 par roidelapluie.

Guybrush 8348 Bob
RDLP a fourni ce qu'il fallait. Sinon, si tu veux quelque chose de simple, mais moins propre, une extension de la solution de Tchou serait la suivante :
- chaque utilisateur possède son propre compte, et se loggue avec en sftp (son compte ssh, en gros).
- un répertoire "par défaut" sur l'arborescence pour héberger les différentes boites. Par ex "storage". Ce répertoire appartient à l'admin, groupe "user".
- Un répertoire par utilisateur, avec comme propriétaire l'utilisateur et le groupe "admin".
- L'admin est dans le groupe admin, et les users dans le groupe user.

Chaque utilisateur va pouvoir voir qu'il existe d'autres répertoires pour les autres utilisateurs, mais ne pourra pas entrer dedans (parce qu'il n'est ni propriétaire, ni dans le groupe admin). L'admin pourra consulter tout, parce que chaque répertoire est dans son groupe admin.

De cette façon, l'ajout d'utilisateurs ultérieurs est relativement simple :
- On crée l'utilisateur et on l'affecte dans le groupe "user".
- On ajoute en tant qu'admin un répertoire pour cet utilisateur, et on change le propriétaire pour que ça soit cet utilisateur, et on change le groupe pour que ça soit "admin". Ca évitera de toucher à la config du ssh/ftp à chaque fois qu'un nouvel utilisateur doit être ajouté.
Marcant 1160 Flooder
Je ferai un topo cet après-midi si possible.
Je pense que j'ai pu faire mieux mais pas encore parfait.
Guybrush 8348 Bob
MarcantJe pense que j'ai pu faire mieux
Quel frimeur... :-D
Marcant 1160 Flooder
Pas du tout, ça c'est quand tu tapes un message sur Lexpage tout en écoutant ton collègue t'expliquer un truc compliqué qui ne t’intéresse pas. Pourtant je le sais que je ne suis pas multitâche lol.

Donc je voulais vraiment dire :

Ça fonctionne, mais c'est pas encore parfait !

Répondre

Vous devez être inscrit et identifié.