Chroot SFTP: pas d'accès en écriture

Bonjour à toutes et tous!

Je désire créer un accès en SFTP avec un chroot de l’utilisateur. Uniquement du SFTP pas de SSH pour cet utilisateur.

J’ai donc:

  1. créé un utilisateur “guest”

  2. appliquer les droits root:root en lecture seule sur /home/guest (comme demandé par OpenSSH)

  3. modifier /etc/ssh/sshd.conf pour:
    a) remplacer la ligne
    Subsystem sftp /usr/libexec/sftp-server par Subsystem sftp internal-sftp

b) ajouter

Match User guest ChrootDirectory /home/guest X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp

Résultat: l’accès en sftp avec le compte “guest” fonctionne bien via Filezilla MAIS je ne peux rien écrire dans le répertoire :-/

J’ai donc créé un autre répertoire à l’intérieur de celui-ci en lui mettant guest:users comme propriétaire et en autorisant du rwxr-xr-x mais sans succès!

Quelqu’un pourrait-il m’éclairer ?

Merci d’avance pour vos réponses et bonne après-midi :smiley:

Petit up :wink:

j’ai un peu de mal à te suivre; guest n’a pas le droit en écriture mais toi tu veux l’avoir sur /home/guest ;c’est ca?

OpenSSH (qui dans ce cas précis va me servir à faire du sftp uniquement) exige que le répertoire que l’on veut chrooter appartienne à root et n’ai pas de droits en écriture.

Ce répertoire sera le plus haut visible via un client sftp.

Néanmoins, j’aimerais écrire dans un sous-répertoire de /home/guest (par exemple /home/guest/uploads).

Problème, quand je crée ce sous-répertoire en lui donnant comme propriétaire guest:users (rwx-rwx-rwx), mon client sftp ne me l’affiche quand même pas (je ne vois que ‘/’). Dès lors, je ne peux rien écrire dedans (et pour cause!).

Je me demande s’il s’agit d’un problème:

  1. dans le fichier sshd_config
  2. de droits sur le sous-répertoire
  3. de création erronée de ce sous-répertoire (peut-être mkdir --parents mais à vrai dire je ne saisis pas bien le concept de ‘–parents’)
  4. de droits de l’utilisateur guest (créé comme guest:user)

Bref! Je me sens assez paumé…

si tu logues root tu devrais pouvoir écrire dans /home/guest

Je n’ai pas configuré ssh pour qu’il puisse se connecter en root et, honnêtement, c’est très bien comme ça :wink:

Je suis persuadé qu’il existe un moyen simple d’arriver à mes fins mais je patauge :confused:

Tant pis! J’attendrais la réponse de quelqu’un ayant rencontré le même problème que moi.

Merci tout de même :smiley:

Tu as un excellent tuto de Yanlolot sur T&A
http://www.debian-fr.org/serveur-sftp-shell-reduit-rssh-et-chroot-t27796.html
Je suis entrain de l’installer et il me manque encore quelques précisions de l’auteur pour qu’il soit fonctionnel.
Toutefois, si tu es en Lenny et 64 bits, il y a quelques modifications à y apporter, ce qui ne va pas tarder à être fait.
Si tu es sous Squezze et en 32 bits, les yeux fermés, il n’y a qu’à suivre à la lettre.


c'est pas ce que je voulais dire,mais te mettre root juste le temps d'écrire dans /home/guest et ensuite repasser en user.
N'utilisant pas ssh je sais pas trop comment le configurer mais je sais bien qu'un serveur quel qu'il soit ne doit jamais tourner sous root.

c’est pas ce que je voulais dire,mais te mettre root juste le temps d’écrire dans /home/guest et ensuite repasser en user.
N’utilisant pas ssh je sais pas trop comment le configurer mais je sais bien qu’un serveur quel qu’il soit ne doit jamais tourner sous root.

A propos du tuto: ce n’est pas tout à fait la même chose que ce que tu essais de faire. Dans le tuto, je me sers de rssh pour faire le chroot, tandis que toi, tu te sers directement d’une fonctionnalité de openssh pour effectuer le chroot.
Je vais faire la modif concernant la stable/amd64, mais il faut tjs copier /usr/lib/openssh/sftp-server dans le chroot, sauf si on est sur une stable/i386:

[code]# mkdir /home/sftp/usr/lib/openssh

cp /usr/lib/openssh/sftp-server /home/sftp/usr/lib/openssh/[/code]

Je vais le corriger de ce pas…

Bon je sais pas si tu as réussi ce que tu voulais faire ?

Donc je vais te donné ce que j’ai fait sur mon sftp (openssh)

Je Chroot mes clients dans /ftp/client/ (je n’arrive pas a les faire ce connecter dans leur dossier avec tous les droits voulu avec %u)
chown -R client1:admin /ftp/client/client1
ensuite chmod 771 client1 /ftp/client/client1

Seul soucis : le client pourra voir les noms différents clients mais n’aura pas accès au dossier

[quote=“Bastichou”]Bon je sais pas si tu as réussi ce que tu voulais faire ?

Donc je vais te donné ce que j’ai fait sur mon sftp (openssh)

Je Chroot mes clients dans /ftp/client/ (je n’arrive pas a les faire ce connecter dans leur dossier avec tous les droits voulu avec %u)
chown -R client1:admin /ftp/client/client1
ensuite chmod 771 client1 /ftp/client/client1

Seul soucis : le client pourra voir les noms différents clients mais n’aura pas accès au dossier[/quote]

Tu es allé voir là :
http://www.debian-fr.org/serveur-sftp-shell-reduit-rssh-et-chroot-t27796.html

oui, pour mon soucis, cependant j’utilise le chroot configurable avec openssh et non pas rssh :s
Mais j’ai contourné le problème ! Merci

Je fais un petit up !

X11Forwarding no AllowTcpForwarding no

Quelqu’un saurait m’expliquer ces deux lignes ?
Je les utilises sans en connaitre vraiment l’utilité :023

Merci d’avance !