Partage sftp chroot

Bonjour,
J’ai trouvé une solution pour chrooter un utilisateur qui se connecte en sftp via filezilla par exemple mais le résultat ne me conviens pas… je m’explique.

J’ai modifié le fichier de configuration sshd_config comme ceci sachant que le home de l’utilisateur est situé dans /public sur une autre partition:
PermitRootLogin no
Subsystem sftp internal-sftp
X11Forwarding no

Match Group sftpchrooted
ChrootDirectory /public/%u
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp

J’ai créé l’utilisateur titi et l’ai ajouté au groupe sftpchrooted.
Puis j’ai changer les attribut du home de titi comme ceci:
chown root:root /public/titi

J’ai créé un dossier data dans son home et changer l’attribut utilisateur:
mkdir /public/titi/data
chown titi /public/titi/data

Enfin, j’ai créé un nouveau home dans le home de titi et y ai créé un liens symbolique vers data:
mkdir /public/titi/home
ln -s …/data /public/titi/home

Résultat:
ça fonctionne, titi est bien chrooté dans son home mais voici l’arborescence du répertoire de connexion:

/public/titi/
├── data
└── home
└── titi -> …/data

j’accède à tous les répertoires en dessous de /public/titi et pas au dessus, ça ça me va.
je ne peux pas créer de fichier dans /public/titi, pourquoi pas…
je peux créer un fichier dans /public/titi/data, ça ça me va.

Même si cela fonctionne, le problème est que je souhaite que l’utilisateur ne se connecte pas dans /public/titi mais directement dans data avec les droit actuels (rwx) et ne puisse pas remonter.

Bon…

Je me suis compliqué la vie pour rien…

Il me suffisait de faire un “chown root:titi /public/titi” :12

Et voilà, titi se connecte bien en sftp et arrive dans son home et ne peux pas en sortir :dance: . J’ai aussi essayé de me connecter en ssh avec le compte de titi et ça ne fonctionne pas (tant mieux).

Si vous avez des conseils à me donner pour empêcher titi de faire autres choses que de télécharger des données de son home ou en supprimer, elles sont les bienvenues!

Edit: Eeeeeeet non… ça fonctionne pas. j’ai uniquement les droit d’accès. J’ai fait un chmod g+w /public/titi droit de modif ok.
Après une suppression des fichiers .bashrc .profile et .bash_logout, impossible de se reconnecter…
Je suis repartie de zero avec un autre serveur et j’ai suivis ce tuto:http://jonas-kirk-pedersen.blogspot.fr/2013/11/sftp-setup-on-debian-wheezy.html avec un autres compte utilisateur “sftp1” et maintenant j’ai ce message à la connexion:
Réponse : fzSftp started
Commande : open "sftp1@192.168.0.60" 3333
Commande : Pass: ****
Erreur : Network error: Software caused connection abort
Erreur : Impossible d’établir une connexion au serveur

Le /var/log/auth.log m’affiche:
May 16 12:34:48 debtest sshd[7635]: Accepted password for sftp1 from 192.168.0.17 port 1904 ssh2
May 16 12:34:48 debtest sshd[7635]: pam_unix(sshd:session): session opened for user sftp1 by (uid=0)
May 16 12:34:48 debtest sshd[7637]: fatal: bad ownership or modes for chroot directory “/home/sftp1”
May 16 12:34:48 debtest sshd[7635]: pam_unix(sshd:session): session closed for user sftp1

aidez moi svp!

Bonjour!

Bon, je reprend depuis le début. En considérant que j’ai désactivé l’accès root en ssh/sftp, je veux avoir accès en sftp pour superuser et lire et écrire jusqu’à la racine.

Et je veux que l’utilisateur toto ne puisse accéder qu’à /var/www/sitetoto/partage et ne puisse pas remonter. Dans ce répertoire il pourra lire et écrire.

Pouvez-vous m’aider?

Salut,

À mon avis, tu pourrais t’inspirer (suivre) amplement du tuto de yanlolot dans la section T&A.

serveur sftp, shell réduit (rssh) et chroot

Présent sur le Wiki également.

Serveur sftp +rssh+chroot

c’est pas ça que tu cherches?

http://www.ced-info.com/administration-reseaux/installer-facilement-un-serveur-sftp

Bonjour,
J’ai choisi le tuto de yanlolot qui est très complet. mais je me heurte au problèmes suivant. Quand je me connecte avec filezilla avec mon utilisateur_sftp1 j’arrive dans l’arborescence suivante:
sftp/
├── dev
│ └── null
├── etc
│ └── passwd
├── lib
│ ├── i386-linux-gnu
│ │ ├── i686
│ │ │ └── cmov
│ │ │ └── libc.so.6
│ │ ├── libbsd.so.0
│ │ ├── libnss_files.so.2
│ │ └── libtinfo.so.5
│ └── ld-linux.so.2
└── usr
├── bin
│ └── sftp
└── lib
├── i386-linux-gnu
│ └── libedit.so.2
└── openssh
└── sftp-server

Bien sur je ne peux pas remonter au delà et c’est très bien mais je ne veux pas que mon utilisateur_sftp1 accède à ces répertoires ni ne les vois (pour ne pas qu’il mette le foutoir dedans…). Il serait bien qu’il arrive dans sftp/partage par exemple et est tous les droits dedans mais ne puissent en sortir.
De plus sur un serveur multi-utilisateurs, je souhaite que utilisateur_sftp1 et utilisateur_sftp2 par exemple ai leur propre répertoire de connexion sftp/partage1 et sftp/partage2 chrooter ou sftp1/partage et aftp2/partage.

Bonjour,
bon après plusieurs recherche j’ai essayer ce tuto http://michauko.org/blog/sftp-chroot-et-pas-de-ssh-bloquer-un-utilisateur-dans-un-repertoire-1099/
Mais je ne suis toujours pas satisfait et j’en viens à me demander (et par là même à vous aussi :083 ) si la solution d’utiliser le SFTP est celle qui conviens.

Je reprend.

Sur mon serveur, les utilisateurs doivent pouvoirs se connecter dans un dossier de partage respectif à chacun d’eux et y être chrooter. Dans leurs dossiers il doivent pouvoir télécharger et éventuellement envoyer des données.
Et la partie qui me complique la vie…
Chaque utilisateur a un site qui envoi des données dans leurs dossiers de partage sur demande via ce même site.
Donc les dossiers de partages doivent être accessibles en lecture/écriture aux utilisateurs et à l’utilisateur apache2 (www-data).

Dois-je persister à trouver une solution pour mettre en place du SFTP (sachant que je n’ai rien trouvé de convaincant)?
Dois-je passer à une solution FTPS (perso, je penche pour VsFTPD mais je prend en compte vos avis)?

J’ai opté pour la solution ftp avec pureftpd. J’ai trouvé un tuto qui explique bien comment le mettre en place avec l’utilisation d’une BdD MySQL pour les utilisateurs.
tuto ici: info-guit.pagesperso-orange.fr/info12.html

Maintenant, je veux mettre en place un certificat TLS comme expliqué ici: server-world.info/en/note?os … &p=ftp&f=7

Mais lorsque je veux me connecter, j’ai le message suivant dans le syslog:

Jun 16 16:36:41 debiandev sshd[23247]: Invalid user usrtmp from [mon adresse IP]
Jun 16 16:36:41 debiandev sshd[23247]: input_userauth_request: invalid user usrtmp [preauth]
Jun 16 16:36:41 debiandev sshd[23247]: pam_unix(sshd:auth): check pass; user unknown
Jun 16 16:36:41 debiandev sshd[23247]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=ip-164.net-81-220-57.lyon.rev.numericable.fr
Jun 16 16:36:43 debiandev sshd[23247]: Failed password for invalid user usrtmp from [mon adresse IP] port 52246 ssh2
Jun 16 16:36:43 debiandev sshd[23247]: fatal: Read from socket failed: Connection reset by peer [preauth]

Une idée d’ou cela peut venir?