logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 23-06-2017 07:23:04

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

[Résolu] problème chrooter sftp

bonjour a tous,

j'aimerai qu'un utilisateur "toto" puisse accéder a un répertoire /var/radio/ via ftp sécurisé, donc j'ai pris comme solution sftp:

j'ai créé un utilisateur qui a comme répertoire pérsonnel "/var/radio"

ce répertoire a comme propriétaire root:root
dans ce répertoire il y a dossier pays /var/radio/pays/

ce répertoire a comme propriétaire toto:titi  (titi est mon utilisateur que j'utilise tout les jours) (toto fais parti du groupe titi)

quand je me connecter avec filezila, pas de problème en sftp le souci c'est que j'arrive a aller aussi dans des autres répertoires
donc
j'ai modifié le fichier /etc/ssh/sshd_config en ajoutant a la fin du fichier:

Match user toto
         ChrootDirectory /var/radio/
         ForceCommand internal-sftp
        AllowTCPForwarding no

puis j'ai redémarré le service ssh

mais pas moyen de me reconnecter avec filezilla

Erreur :    Network error: Software caused connection abort
Erreur :    Impossible d'établir une connexion au serveur

je n'arrive pas a trouver l'erreur

Pouvez-vous m'aider svp?

Merci d'avance

Dernière modification par klosius (26-06-2017 13:46:22)


" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#2 23-06-2017 08:33:47

daufinsyd
Membre
Lieu : 68, 63, Karlsruhe
Distrib. : Arch Linux + Debian Stable + Xubuntu
Noyau : Linux 4.17-amd64
(G)UI : Plasma 5.13
Inscription : 02-02-2013
Site Web

Re : [Résolu] problème chrooter sftp

Salut smile

ce répertoire a comme propriétaire toto:titi  (titi est mon utilisateur que j'utilise tout les jours) (toto fais parti du groupe titi)


Si tu as changé les droits avec chmod, c'est du type  user:group

Peux tu poster le contenu de

systemctl status sshd


Histoire d'être sûr que ssh est correctement lancé
et

/var/log/auth.log ?

Enfin essaie de te connecter directement en ssh.


Portable i7 7700HQ, 16Go RAM, GTX 1050Ti, MX 500 Crucial
Intel i7-4790 - 12Go RAM - GTX460
Intel i7-6700 - 8Go RAM - AMD R9 280X 3Go - SSD 850Evo
Odroid C2, Raspberry Pi Zero

Hors ligne

#3 23-06-2017 09:10:07

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

Re : [Résolu] problème chrooter sftp

Salut,

merci pour ta réponse, voici les info que tu m'a demandé

pour le status sshd:

● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
   Active: active (running) since ven 2017-06-23 08:19:20 CEST; 1h 21min ago
Main PID: 25937 (sshd)
   CGroup: /system.slice/ssh.service
           └─25937 /usr/sbin/sshd -D



pour le auth.log:

941 Jun 23 09:47:26 jupiter sshd[28961]: Accepted password for toto from 192.168.0.202 port 64356 ssh2
942 Jun 23 09:47:26 jupiter sshd[28961]: pam_unix(sshd:session): session opened for user toto by (uid=0)
943 Jun 23 09:47:26 jupiter systemd: pam_unix(systemd-user:session): session opened for user toto by (uid=0)
944 Jun 23 09:47:26 jupiter systemd-logind[992]: New session 109 of user toto.
945 Jun 23 09:47:26 jupiter sshd[28966]: fatal: bad ownership or modes for chroot directory component "/var/radio/"
946 Jun 23 09:47:26 jupiter sshd[28961]: pam_unix(sshd:session): session closed for user toto
947 Jun 23 09:47:26 jupiter systemd-logind[992]: Removed session 109.
948 Jun 23 09:47:31 jupiter sshd[28977]: Accepted password for toto from 192.168.0.202 port 64356 ssh2
949 Jun 23 09:47:31 jupiter sshd[28977]: pam_unix(sshd:session): session opened for user toto by (uid=0)
950 Jun 23 09:47:31 jupiter systemd: pam_unix(systemd-user:session): session opened for user toto by (uid=0)
951 Jun 23 09:47:31 jupiter systemd-logind[992]: New session 110 of user toto.
952 Jun 23 09:47:31 jupiter sshd[28982]: fatal: bad ownership or modes for chroot directory component "/var/radio/"
953 Jun 23 09:47:31 jupiter sshd[28977]: pam_unix(sshd:session): session closed for user toto
954 Jun 23 09:47:31 jupiter systemd-logind[992]: Removed session 110.
955 Jun 23 09:47:31 jupiter systemd: pam_unix(systemd-user:session): session closed for user toto



et j'ai essayé de me connecter en ssh:
j'ai comme message
" Network error: Software caused connection abort"

par contre si j'enlève les lignes qui correspond au "Match user toto", j'arrive à me connecter mais je peux aussi me balader sur les répertoires du serveur , chose que je n'ai pas envie qu'il puisse faire .


" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#4 23-06-2017 09:13:14

daufinsyd
Membre
Lieu : 68, 63, Karlsruhe
Distrib. : Arch Linux + Debian Stable + Xubuntu
Noyau : Linux 4.17-amd64
(G)UI : Plasma 5.13
Inscription : 02-02-2013
Site Web

Re : [Résolu] problème chrooter sftp

Le problème est bien ça

fatal: bad ownership or modes for chroot directory component "/var/radio/"



Ton utilisateur n'est pas proprio de /var/radio/, dans ton sshd_config il faut mettre /var/radio/pays


Portable i7 7700HQ, 16Go RAM, GTX 1050Ti, MX 500 Crucial
Intel i7-4790 - 12Go RAM - GTX460
Intel i7-6700 - 8Go RAM - AMD R9 280X 3Go - SSD 850Evo
Odroid C2, Raspberry Pi Zero

Hors ligne

#5 23-06-2017 09:53:47

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

Re : [Résolu] problème chrooter sftp

j'ai modifié le fichier sshd_config

ChrootDirectory /var/radio/pays/

j'ai redémaré le service ssh

mais c'est exactement pareil

voici le auth.log:

1022 Jun 23 10:31:03 jupiter sshd[30583]: Accepted password for toto from 192.168.0.202 port 64356 ssh2
1023 Jun 23 10:31:03 jupiter sshd[30583]: pam_unix(sshd:session): session opened for user toto by (uid=0)
1024 Jun 23 10:31:03 jupiter systemd-logind[992]: New session 118 of user toto.
1025 Jun 23 10:31:03 jupiter systemd: pam_unix(systemd-user:session): session opened for user toto by (uid=0)
1026 Jun 23 10:31:03 jupiter sshd[30588]: fatal: bad ownership or modes for chroot directory component "/var/radio/"
1027 Jun 23 10:31:03 jupiter sshd[30583]: pam_unix(sshd:session): session closed for user toto
1028 Jun 23 10:31:03 jupiter systemd-logind[992]: Removed session 118.
1029 Jun 23 10:31:03 jupiter systemd: pam_unix(systemd-user:session): session closed for user toto
1030 Jun 23 10:31:08 jupiter sshd[30599]: Accepted password for toto from 192.168.0.202 port 64356 ssh2
1031 Jun 23 10:31:08 jupiter sshd[30599]: pam_unix(sshd:session): session opened for user toto by (uid=0)
1032 Jun 23 10:31:08 jupiter systemd-logind[992]: New session 119 of user toto.
1033 Jun 23 10:31:08 jupiter systemd: pam_unix(systemd-user:session): session opened for user toto by (uid=0)
1034 Jun 23 10:31:08 jupiter sshd[30604]: fatal: bad ownership or modes for chroot directory component "/var/radio/"
1035 Jun 23 10:31:08 jupiter sshd[30599]: pam_unix(sshd:session): session closed for user toto
1036 Jun 23 10:31:08 jupiter systemd-logind[992]: Removed session 119.
1037 Jun 23 10:31:08 jupiter systemd: pam_unix(systemd-user:session): session closed for user toto



j'ai toujours le même répertoire

fatal: bad ownership or modes for chroot directory component "/var/radio/"



mon répertoire /var/radio/ appartiens a root:root
mais mon répertoire /var/radio/pays/ appartiens a toto:titi
et sur mon fichier /etc/passwd ma ligne qui correspond a toto est:

toto:x:1012:1012:utilisateur pour test:/var/radio:/bin/bash



tu aurai encore une idée?
Merci encore de m'aider smile


" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#6 23-06-2017 10:13:15

daufinsyd
Membre
Lieu : 68, 63, Karlsruhe
Distrib. : Arch Linux + Debian Stable + Xubuntu
Noyau : Linux 4.17-amd64
(G)UI : Plasma 5.13
Inscription : 02-02-2013
Site Web

Re : [Résolu] problème chrooter sftp

Hum pourquoi as tu spécifié le home de toto à /var/radio ?

Si tu met toto:titi proprio de radio ça marche ? smile

Portable i7 7700HQ, 16Go RAM, GTX 1050Ti, MX 500 Crucial
Intel i7-4790 - 12Go RAM - GTX460
Intel i7-6700 - 8Go RAM - AMD R9 280X 3Go - SSD 850Evo
Odroid C2, Raspberry Pi Zero

Hors ligne

#7 23-06-2017 10:24:47

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

Re : [Résolu] problème chrooter sftp

Hum pourquoi as tu spécifié le home de toto à /var/radio ?


parce que , quand je me connecte avec filezilla avec le user "toto", j'aimerai arriver au répertoire /var/radio/

Si tu met toto:titi proprio de radio ça marche ? smile



j'avais compris que le répertoire parents dois être en root

du genre

/home/ appartiens a root:root
mais
/home/toto/ appartiens a toto:toto


" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#8 23-06-2017 11:03:21

daufinsyd
Membre
Lieu : 68, 63, Karlsruhe
Distrib. : Arch Linux + Debian Stable + Xubuntu
Noyau : Linux 4.17-amd64
(G)UI : Plasma 5.13
Inscription : 02-02-2013
Site Web

Re : [Résolu] problème chrooter sftp

Oui mais le home de toto est /home/toto et non /home wink

Portable i7 7700HQ, 16Go RAM, GTX 1050Ti, MX 500 Crucial
Intel i7-4790 - 12Go RAM - GTX460
Intel i7-6700 - 8Go RAM - AMD R9 280X 3Go - SSD 850Evo
Odroid C2, Raspberry Pi Zero

Hors ligne

#9 23-06-2017 12:52:24

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

Re : [Résolu] problème chrooter sftp

Oui tu as raison, je viens de me rendre compte avec ton aide

donc j'ai changé le home de toto pour /var/radio/pays

mais je n'arrive, quand'même pas a me connecter
j'ai été voir le fichier auth.log
et j'ai toujours cette ligne:

fatal: bad ownership or modes for chroot directory component "/var/radio/"



compliqué cette histoire !!!


" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#10 23-06-2017 14:07:11

daufinsyd
Membre
Lieu : 68, 63, Karlsruhe
Distrib. : Arch Linux + Debian Stable + Xubuntu
Noyau : Linux 4.17-amd64
(G)UI : Plasma 5.13
Inscription : 02-02-2013
Site Web

Re : [Résolu] problème chrooter sftp

Pour résumer

/var/radio est ton chroot (il ne doit pouvoir être modifié que par le root (je viens d'apprendre en lisant le man que ça doit aussi être le cas de ses parents donc /var et /)) C'est le cas chez toi ?
/var/radio/pays est le home de ton user (ce dernier doit donc avoir les droits dedans, pour les test fais un chmod 777) lol

Il faut également un shell pour que l'utilisateur puisse se connecter. As tu bien une copie de /usr/bin/bash dans ton chroot ? (et des autres commandes que tu veux).
Penses aussi à recréer les dossiers "vitaux du système" genre dev et compagnie.

Portable i7 7700HQ, 16Go RAM, GTX 1050Ti, MX 500 Crucial
Intel i7-4790 - 12Go RAM - GTX460
Intel i7-6700 - 8Go RAM - AMD R9 280X 3Go - SSD 850Evo
Odroid C2, Raspberry Pi Zero

Hors ligne

#11 23-06-2017 14:55:11

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

Re : [Résolu] problème chrooter sftp

alors la je suis largué, j'ai pas tout compris:
je fais un résumé:

mon /etc/passwd est:

toto:x:1012:1012:utilisateur pour test:/var/radio/pays:/bin/bash


donc, mon home est /var/radio/pays
mais où est-ce que je vois que mon chroot est /var/radio ? tu parle du chrootDirectory du fichier sshd_config ?
il a comme donnée:
ChrootDirectory /var/radio/pays

pour les détails des dossiers:

/var/radio root:root chmod 775
/var/radio/pays toto:titi chmod 775 ainsi que tous les sous répertoires et fichiers

Il faut également un shell pour que l'utilisateur puisse se connecter. As tu bien une copie de /usr/bin/bash dans ton chroot ? (et des autres commandes que tu veux).
Penses aussi à recréer les dossiers "vitaux du système" genre dev et compagnie.



j'ai rien compris tongue

pour le bash je pense que c'est ok vu que j'arrive a me connecter et j'arrive dans mon répertoire tant que les lignes :

Match user toto
         ChrootDirectory /var/radio/pays/
         ForceCommand internal-sftp
        AllowTCPForwarding no


n'y soient pas

dans la racine de mon serveur il y tout les dossiers " dev et compagnie" ( Debian fraîchement installé)


" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#12 23-06-2017 16:55:19

daufinsyd
Membre
Lieu : 68, 63, Karlsruhe
Distrib. : Arch Linux + Debian Stable + Xubuntu
Noyau : Linux 4.17-amd64
(G)UI : Plasma 5.13
Inscription : 02-02-2013
Site Web

Re : [Résolu] problème chrooter sftp

désolé de t'avoir largué, je vais essayé d'être plus clair wink

klosius a écrit :

tu parle du chrootDirectory du fichier sshd_config ?



Oui smile

En chrootant dans /var/radio, les programmes qui seront exécutés dans le chroot croiront que /var/radio est /
Ils n'ont donc plus accès à la racine système mais QUE à /var/radio (donc pas de bash ou autres choses si pratiques wink ). C'est d'ailleurs la raison pour laquelle tu veux l'utiliser.


klosius a écrit :

pour le bash je pense que c'est ok vu que j'arrive a me connecter et j'arrive dans mon répertoire tant que les lignes :
    Match user toto
             ChrootDirectory /var/radio/pays/
             ForceCommand internal-sftp
            AllowTCPForwarding no
n'y soient pas



Lorsque ces lignes n'y sont pas il n'y a simplement pas de chroot.

Il faut donc

1- régler les permissions correctement: uniquement les droits pour root sur le dossier chrooté - celui de sshd_config - et ses parents ; tous les droits aux dossiers à l'intérieur de ce dernier

2- préparer l'environnement (notamment ajouter bash ou sh (et d'autres commandes utiles comme ls, ... au chroot) - ex: /var/radio/usr/bin/bash ...

Pour ce faire copier les exécutables de ton système devrait (presque) suffire (/usr/bin/bash vers /var/radio/usr/bin/bash).

Si tu as des besoins spéciaux crée les dossiers suivants dev,etc,lib,usr,bin dans /var/radio et colle à l'intérieur ce dont tu as besoin (je sais c'est vague, mais à priori je ne vois pas trop ce dont tu as besoin ^^)


J'ai un gros doute sur les librairies partagées mais je pense qu'il faut aussi les copier:

a- trouver les librairies requises pour chacun des prog que tu as copié dans ton chroot (exemple pour bash

ldd /usr/bin/bash

te donne la liste des librairies partagées utilisées par bash qu'il faut également copier dans ton chroot pour pouvoir utiliser bash)

b- copier la liste des fichiers obtenus à la commande précédente dans ton chroot (/var/radio/...)


Voili-voilou smile
Bon je te propose de faire ça pas à pas tongue

Dernière modification par daufinsyd (23-06-2017 17:05:25)


Portable i7 7700HQ, 16Go RAM, GTX 1050Ti, MX 500 Crucial
Intel i7-4790 - 12Go RAM - GTX460
Intel i7-6700 - 8Go RAM - AMD R9 280X 3Go - SSD 850Evo
Odroid C2, Raspberry Pi Zero

Hors ligne

#13 23-06-2017 20:13:35

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

Re : [Résolu] problème chrooter sftp

woauw, en faite c'est tromper Debian en lui fessant croire que la racine est dans un autre répertoire.. et vu qu'il croit que c'est la racine, forcément on ne peut plus aller en aval... pas mal vu ...:P

mais il y a quelque chose que je ne comprend pas, dans des tuto de chroot trouvé sur le net, ils donne toujours un exemple de confinement du user dans son home, c'est a dire /home/toto/
alors comment linux peut aller  chercher /usr/bin/bash/ et les autres choses si sa racine est maintenant sur /home/toto/ ?  tu m'a dit que copier le bash dans le répertoire chrooté, mais pourquoi on le fais pas dans les tuto qui prenne l'exemple de /home/toto/?

je suis désolé si c'est pas très clair ma question...

dans mon cas, j'ai juste besoin que toto se connecte sur /var/radio/ et qu'il puisse déposer, effacer, modifier des répertoires/fichiers c'est tout ce qu'il dois faire.

je vais essayer de repenser tout ça

vu que  toto dois pas sortir de /var/radio/ donc, si je comprend bien, le chroot dois se faire sur ce répertoire?  donc /var/radio/ dois appartenir a root:root
puis créer un autre répertoire pour que toto puisse avoir tout les droits, et ce nouveau répertoire sera le home de toto /var/radio/pays/ qui dois appartenir a toto:toto ?

puis modifier le sshd_config pour chrooter le répertoire /var/radio ou /var/radio/pays ?

et copier l'executable /usr/bin/bash dans  /var/radio/bin/bash ?

je suis désolé de poser autant de question, mais j'aime pas copier bêtement les instructions, j'aime comprendre pourquoi on le fait

" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#14 23-06-2017 21:04:22

daufinsyd
Membre
Lieu : 68, 63, Karlsruhe
Distrib. : Arch Linux + Debian Stable + Xubuntu
Noyau : Linux 4.17-amd64
(G)UI : Plasma 5.13
Inscription : 02-02-2013
Site Web

Re : [Résolu] problème chrooter sftp

klosius a écrit :

woauw, en faite c'est tromper Debian en lui fessant croire que la racine est dans un autre répertoire.. et vu qu'il croit que c'est la racine, forcément on ne peut plus aller en aval... pas mal vu ...:P


Exactement big_smile

klosius a écrit :


mais il y a quelque chose que je ne comprend pas, dans des tuto de chroot trouvé sur le net, ils donne toujours un exemple de confinement du user dans son home, c'est a dire /home/toto/
alors comment linux peut aller  chercher /usr/bin/bash/ et les autres choses si sa racine est maintenant sur /home/toto/ ?  tu m'a dit que copier le bash dans le répertoire chrooté, mais pourquoi on le fais pas dans les tuto qui prenne l'exemple de /home/toto/?



Est-ce que tu as le lien ? Du coup j'ai aussi cherché quelques tutos sur le net mais ils font comme ce que je préconise plus haut (enfin pour les quelques que j'ai regardé :timide: )  (je mets les liens si ça peut aider)
bon j'ai pris les trois premiers qui venaient XD
http://www.techrepublic.com/blog/linux- … rectories/
https://www.howtoforge.com/restricting- … an-squeeze
et enfin le tuto collector de debian lol
https://www.debian.org/doc/manuals/secu … nv.en.html (mais bon l'auteur dit qu'il a testé son tuto sur Debian 3.0 donc ça devrait marcher ^^)



klosius a écrit :


je suis désolé si c'est pas très clair ma question...

dans mon cas, j'ai juste besoin que toto se connecte sur /var/radio/ et qu'il puisse déposer, effacer, modifier des répertoires/fichiers c'est tout ce qu'il dois faire.

je vais essayer de repenser tout ça

vu que  toto dois pas sortir de /var/radio/ donc, si je comprend bien, le chroot dois se faire sur ce répertoire?  donc /var/radio/ dois appartenir a root:root
puis créer un autre répertoire pour que toto puisse avoir tout les droits, et ce nouveau répertoire sera le home de toto /var/radio/pays/ qui dois appartenir a toto:toto ?

puis modifier le sshd_config pour chrooter le répertoire /var/radio ou /var/radio/pays ?

et copier l'executable /usr/bin/bash dans  /var/radio/bin/bash ?


tout à fait smile

pour sshd_config c'est donc /var/radio (la racine du chroot).

Le home de ton user sera /var/radio/pays ce qui donne DANS le chroot /pays (/var/radio étant la racine du chroot)


N'oublie pas que pour fonctionner bash requiert des librairies partagées. Il faut donc également les copiers dans le chroot. Pour connaitre quelles sont les librairies en question il faut utiliser la commande ldd sur l'éxécutable smile

klosius a écrit :


je suis désolé de poser autant de question, mais j'aime pas copier bêtement les instructions, j'aime comprendre pourquoi on le fait



Au contraire ! C'est hyper motivant d'aider quelqu'un qui cherche à comprendre big_smile

Dernière modification par daufinsyd (23-06-2017 21:05:37)


Portable i7 7700HQ, 16Go RAM, GTX 1050Ti, MX 500 Crucial
Intel i7-4790 - 12Go RAM - GTX460
Intel i7-6700 - 8Go RAM - AMD R9 280X 3Go - SSD 850Evo
Odroid C2, Raspberry Pi Zero

Hors ligne

#15 23-06-2017 21:49:26

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

Re : [Résolu] problème chrooter sftp

Merci pour ta patience en tout cas smile

sur cette page :
https://debian-facile.org/doc:reseau:ss … ssh-server
il parle de couper de Shell carément, du coup ça serai encore mieux, vu que je passerai par Filezilla (pas besoin de shell? )
sur cette même page il parle pas de faire une copie du bash sur le chroot.

j'ai pas compris le:

Pour connaitre quelles sont les librairies en question il faut utiliser la commande ldd sur l'éxécutable



vu que moi j'ai juste besoin que toto puisse downloader/uploader et deleter des répertoires/fichiers, c'est tout ce que toto pourra faire via un client sftp

voici d'autres liens que j'ai visité ( ils ne parlent pas de copier le bash ni des librairies )

https://kdecherf.com/blog/2009/03/01/cr … c-openssh/

http://michauko.org/blog/sftp-chroot-et … oire-1099/


" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#16 23-06-2017 22:55:30

daufinsyd
Membre
Lieu : 68, 63, Karlsruhe
Distrib. : Arch Linux + Debian Stable + Xubuntu
Noyau : Linux 4.17-amd64
(G)UI : Plasma 5.13
Inscription : 02-02-2013
Site Web

Re : [Résolu] problème chrooter sftp

Ha bah oui, OpenSSH propose maintenant internatl-sftp qui permet de ne pas avoir à faire ça ! big_smile Ça sera un sujet tout aussi instructif pour moi, merci smile

Du coup as tu mis ton utilisateur dans la ligne

AllowUsers



de sshd_config ?

Pour les permissions


chown root:root /var/radio
chmod 771 /var/radio
 



Root est proprio de /var/radio et seul son groupe peut y écrire.
D'ailleurs en toute rigueur pas besoin du droit d'éxécution pour les autres utilisateurs.


Portable i7 7700HQ, 16Go RAM, GTX 1050Ti, MX 500 Crucial
Intel i7-4790 - 12Go RAM - GTX460
Intel i7-6700 - 8Go RAM - AMD R9 280X 3Go - SSD 850Evo
Odroid C2, Raspberry Pi Zero

Hors ligne

#17 24-06-2017 09:12:48

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

Re : [Résolu] problème chrooter sftp

re-salut daufinsyd,

dans sshd_config, j'ai bien

AllowUsers titi toto


et


 77 Subsystem sftp /usr/lib/openssh/sftp-server
 78
 79 # Set this to 'yes' to enable PAM authentication, account processing,
 80 # and session processing. If this is enabled, PAM authentication will
 81 # be allowed through the ChallengeResponseAuthentication and
 82 # PasswordAuthentication.  Depending on your PAM configuration,
 83 # PAM authentication via ChallengeResponseAuthentication may bypass
 84 # the setting of "PermitRootLogin without-password".
 85 # If you just want the PAM account and session checks to run without
 86 # PAM authentication, then enable this but set PasswordAuthentication
 87 # and ChallengeResponseAuthentication to 'no'.
 88 UsePAM yes
 89  Match user toto
 90         ChrootDirectory /var/radio/
 91         ForceCommand internal-sftp
 92         AllowTCPForwarding no
 



mon /var est en root:root
mon /var/radio est en root:root et en 775
mon /var/radio/pays est en toto:titi et en 775

au niveau de mon user toto dans le fichier paswd:

toto:x:1001:1001:utilisateur pour test:/var/radio/pays:/bin/bash


mais quand j'essai de me connecter j'ai toujours cette erreur dans auth.log:

jupiter sshd[11889]: fatal: bad ownership or modes for chroot directory component "/var/radio/"



j'ai beau changer de chrootdirectory dans le fichier sshd_config j'essai avec:

/var/radio


ou

/var/radio/


ou

/var/radio/pays


ou

/var/radio/pays/


mon log auth.log me donne toujours la même erreur

jupiter sshd[11889]: fatal: bad ownership or modes for chroot directory component "/var/radio/"



qu'est ce que j'ai fais de faux? et je fais très attention a la syntaxe ( c'est vite arriver d'oublier une lettre et hop rien ne va plus ..


" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#18 24-06-2017 12:48:08

daufinsyd
Membre
Lieu : 68, 63, Karlsruhe
Distrib. : Arch Linux + Debian Stable + Xubuntu
Noyau : Linux 4.17-amd64
(G)UI : Plasma 5.13
Inscription : 02-02-2013
Site Web

Re : [Résolu] problème chrooter sftp

Dans AllowUsers ne spécifie pas le groupe titi

Le ChrootDirectory est bon et root a les permissions d'écriture dessus mais au cas où supprime aussi les permissions d'écriture au groupe root (755)

chmod g-w /var/lib


À tout hasard quelles sont les permissions et propriétaire de / et /var ?


Tu peux bloquer le shell de toto par ailleurs

chsh toto -s /bin/true


étant donné que tu comptes qu'interagir avec filezilla

PS: redémarres-tu bien ssh à chaque changement ?

systemctl restart sshd



si il devait t'indiquer une erreur :

systemctl status sshd


Portable i7 7700HQ, 16Go RAM, GTX 1050Ti, MX 500 Crucial
Intel i7-4790 - 12Go RAM - GTX460
Intel i7-6700 - 8Go RAM - AMD R9 280X 3Go - SSD 850Evo
Odroid C2, Raspberry Pi Zero

Hors ligne

#19 24-06-2017 15:22:46

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

Re : [Résolu] problème chrooter sftp

Dans AllowUsers ne spécifie pas le groupe titi


titi est le user que j'utilise tout les jours c'est pour ça que je l'ai mis dans la ligne AllowUsers


Le ChrootDirectory est bon et root a les permissions d'écriture dessus mais au cas où supprime aussi les permissions d'écriture au groupe root (755)


j'ai pas bien compris pourquoi je devrai supprimer la permission d'écriture au groupe root, quel est la conséquence du faite que je ne puisse pas me connecter?


À tout hasard quelles sont les permissions et propriétaire de / et /var ?


je ne sais pas comment regarder les permissions et propriétaire de / (racine)
par contre /var c'est  root:root  751 ( j'y ai pas touché c'est les permissions par défaut de Débian)


PS: redémarres-tu bien ssh à chaque changement ?


oui oui je redémarre a chaque fois

sudo service ssh restart


" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#20 25-06-2017 20:57:36

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

Re : [Résolu] problème chrooter sftp

re,

je viens de refaire un nouveau test

j'ai recommencé depuis le début

j'ai crée un user toto2 qui a comme home : /home/toto2 ( classic quoi)

puis j'ai modifié le fichier sshd_config pour chrooter sur /home/toto2/
je lui ai donné comme chown root:root
redémarrer le service ssh
et bim ça marche !!! j'arrive à me connecter
alors j'ai essayé de lui donner un autre home: /var/radio
puis remodifié le sshd_config pour chrooter sur /var/radio/
et hop redémarré le service ssh
et snif je n'arrive plus à me connecter

est ce que on peut pas chrooter sur le répertoire /var/... ?

je viens de refaire un  autre test:

toto2 a toujours comme home : /var/radio
mais j'ai remodifié le sshd_config pour chrooter sur /home/toto2/ (comme au début )
j'ai redémarrer le service ssh
et la j'arrive a me connecter  et j'arrive sur /home/toto2/ et pourtant le home de toto2 est sur /var/radio pourquoi ça?

j'essai de comprendre tout ça pour essayer trouver pourquoi j'arrive pas a faire ce que je veux.

Dernière modification par klosius (25-06-2017 21:34:00)


" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#21 26-06-2017 07:58:57

daufinsyd
Membre
Lieu : 68, 63, Karlsruhe
Distrib. : Arch Linux + Debian Stable + Xubuntu
Noyau : Linux 4.17-amd64
(G)UI : Plasma 5.13
Inscription : 02-02-2013
Site Web

Re : [Résolu] problème chrooter sftp

À propos des permissions, dans le man de sshd, dans la section ChrootDirectory il est stipulé que seul root doit avoir les droits d'écriture sur le répertoire chrooté AINSI que sur tous les répertoires parents.

ChrootDirectory
Specifies the pathname of a directory to chroot(2) to after authentication. All components of the pathname must be root-owned directories that are not writable by any other user or group. After the chroot, sshd(8) changes the working directory to the user's home directory.


(je ne sais pas si la trad existe, mon système étant en anglais, mais grossomodo /var/radio et les parents ne doivent être accessibles en écriture que par root).

Étant donné que ça marche quand tu utilises /home le problème doit venir de là.

Pour connaître permissions et proprio d'un dossier

ls -ld /dossier


(l affiche les détails, d se contente de lister les dossiers)

klosius a écrit :

est ce que on peut pas chrooter sur le répertoire /var/... ?


Si à condition de respecter les exigences de sshd smile


et la j'arrive a me connecter  et j'arrive sur /home/toto2/ et pourtant le home de toto2 est sur /var/radio pourquoi ça?



Le home définit le répertoire dans lequel l'utilisateur se retrouve une fois loggé. S'il n'existe pas, l'utilisateur se retrouve dans / (c'est pas très gênant en soi, mais il ne peut évidement rien faire dans ce dossier, par défaut). /var/radio n'existe pas dans ton chroot, l'utilisateur doit simplement se retrouver dans la racine (/home/toto2) je pense.


Portable i7 7700HQ, 16Go RAM, GTX 1050Ti, MX 500 Crucial
Intel i7-4790 - 12Go RAM - GTX460
Intel i7-6700 - 8Go RAM - AMD R9 280X 3Go - SSD 850Evo
Odroid C2, Raspberry Pi Zero

Hors ligne

#22 26-06-2017 13:45:34

klosius
Membre
Distrib. : Jessie - 8.6
Noyau : Linux 3.16.0-4-amd64
Inscription : 03-09-2016

Re : [Résolu] problème chrooter sftp

Merci mil fois daufinsyd pour ton aide et surtout pour ta patience big_smile

c'est ton commentaire qui m'a donné la réponse :

ChrootDirectory
Specifies the pathname of a directory to chroot(2) to after authentication. All components of the pathname must be root-owned directories that are not writable by any other user or group. After the chroot, sshd(8) changes the working directory to the user's home directory.



mon dossier /var/radio/ avais comme chmod 775, donc en lisant ton commentaire... bingo je l'ai changé en 755 et hop eureka j'arrive a me connecter a /var/radio big_smile:D:D

encore une fois merci
Comme quoi la persévérance paye cool


" il n'y a pas de question idiote, seulement une réponse idiote" Albert Einstein

Hors ligne

#23 26-06-2017 14:27:46

daufinsyd
Membre
Lieu : 68, 63, Karlsruhe
Distrib. : Arch Linux + Debian Stable + Xubuntu
Noyau : Linux 4.17-amd64
(G)UI : Plasma 5.13
Inscription : 02-02-2013
Site Web

Re : [Résolu] problème chrooter sftp

Excellente nouvelle big_smile
Content de t'avoir aidé ! smile

PS: je pense modifer un peu le wiki de df https://debian-facile.org/doc:reseau:ss … ssh-server (notamment pour détailler le réglage des permissions qui est pas très explicite) tu peux aussi le modifier par rapport à ton expérience wink

Portable i7 7700HQ, 16Go RAM, GTX 1050Ti, MX 500 Crucial
Intel i7-4790 - 12Go RAM - GTX460
Intel i7-6700 - 8Go RAM - AMD R9 280X 3Go - SSD 850Evo
Odroid C2, Raspberry Pi Zero

Hors ligne

Pied de page des forums