Contenu | Rechercher | Menus

Annonce

Ubuntu-fr vend de superbes t-shirts et de belles clés USB 32Go
Rendez-vous sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/02/2019, à 15:14

ledid33

Accès SFTP pour un utilisateur pour un dossier

Bonjour,

Je n'arrive pas à comprendre la config qui consiste à paramétrer un compte utilisateur pour qu'il ait les droits de se connecter en sftp sur un dossier déterminé

dans mon sshd_config

j'ai bien ceci

Subsystem sftp internal-sftp -u 0006
Match group geeks
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory %h

Mon utilisateur
toto:x:1009:1008:ciham,,,:/home/toto:/bin/false

Mon Group geeks
geeks:x:1004:bidule,manchin,toto

Mon dossier
drwxr-xr-x 11 toto   geeks                         4096 févr. 21 13:55 xxx.lse.fr/

Pourriez vous me dire ce qu'il ne va pas merci

Hors ligne

#2 Le 21/02/2019, à 15:36

bruno

Re : Accès SFTP pour un utilisateur pour un dossier

Attention à l’indentation (important) et retire le paramètre -u :

Subsystem sftp internal-sftp
Match group geeks
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp
        ChrootDirectory %h

Dernière modification par bruno (Le 21/02/2019, à 15:38)

Hors ligne

#3 Le 21/02/2019, à 16:15

ledid33

Re : Accès SFTP pour un utilisateur pour un dossier

Bonjour Bruno
ce n'est pas moi à l'origine du sshd_config

que signifie Subsystem sftp internal-sftp -u 0006  ?

Hors ligne

#4 Le 22/02/2019, à 09:45

ledid33

Re : Accès SFTP pour un utilisateur pour un dossier

encore une précision,

Avec l'utilisateur Toto je peux me connecter en sftp dans mon dossier toto
Maintenant je voudrais que ce même Toto puisse aussi se connecter dans un autre dossier XXX (toujours en sftp)
les dossiers toto et XXX se trouve à la même racine dans /home

Merci pour votre aide

drwxr-xr-x 11 root                         root                4096 avril 24  2018 toto.fr/
drwxr-xr-x 11 root                         root                          4096 févr. 21 13:55 XXX.fr/

Hors ligne

#5 Le 22/02/2019, à 10:00

bruno

Re : Accès SFTP pour un utilisateur pour un dossier

ledid33 a écrit :

que signifie Subsystem sftp internal-sftp -u 0006  ?

Cela ne signifie rien. internal-sftp est une directive de configuration, pas un programme qui accepte des arguments. C'est très certainement une erreur.

ledid33 a écrit :

Maintenant je voudrais que ce même Toto puisse aussi se connecter dans un autre dossier XXX (toujours en sftp)
les dossiers toto et XXX se trouve à la même racine dans /home

Il ne vaudrait mieux pas faire cela car tu vas avoir des problèmes de droits d'accès, surtout si XXX est le dossier personnel d'un autre utilisateur. De toute façon il y a une contradiction entre vouloir bloquer un utilisateur dans son dossier et vouloir lui permettre d'accèder à d'autres dossiers.

Sinon l'idée serait d'ajouter un truc du style :

Match user toto
        ForceCommand internal-sftp
        ChrootDirectory /home

Dernière modification par bruno (Le 22/02/2019, à 10:02)

Hors ligne

#6 Le 22/02/2019, à 10:17

ledid33

Re : Accès SFTP pour un utilisateur pour un dossier

ok je comprends mieux
Alors si je veux maintenant supprimer l'accès au dossier toto ??!!
Je veux seulement un accès de Toto pour le dossier XXX

Que dois je faire ?

Hors ligne

#7 Le 22/02/2019, à 11:16

bruno

Re : Accès SFTP pour un utilisateur pour un dossier

Je ne comprends pas la question…

Avec la configuration donnée en #2, tous les utilisateurs membres du groupe geeks ont un accès au serveur uniquement en SFTP (ForceCommand internal-sftp) et limité à leur dossier personnel (ChrootDirectory %h).

Si tu veux que toto n'ait accès qu'au dossier /truc/machin/xxx il faut modifier son dossier personnel (home) en /truc/machin/xxx. Ton souci est peut-être simplement que tu n'as pas défini les « home » de tes utilisateurs correctement.

Hors ligne

#8 Le 22/02/2019, à 11:51

ledid33

Re : Accès SFTP pour un utilisateur pour un dossier

Tous les utilisateurs membres du groupe geeks ont un accès au serveur uniquement en SFTP : OK

Ton souci est peut-être simplement que tu n'as pas défini les « home » de tes utilisateurs correctement.

J'ai créé mon utilisateur toto
adduser
J'ai ajouté l'utilisateur dans un group
adduser toto Toto

Par contre (et je pense que mon problème vient de là)
j'ai copier le dossier Toto
cp -R Toto XXX

Et à partir de là,  l'utilisateur toto n'arrive pas à se connecter en sftp dans le dossier XXX

Hors ligne

#9 Le 22/02/2019, à 12:00

bruno

Re : Accès SFTP pour un utilisateur pour un dossier

Je ne suis toujours pas sûr de comprendre.

Pour que toto accède en SFTP au dossier XXX et uniquement à ce dossier, il faut que :
- sshd soit configuré tel qu'en #2 et toto membre du groupe geeks ;
- que le dossier XXX soit la propriété de root et accessible à tous (1) ;
- que le dossier XXX soit le « home » de toto (2).

(1)

sudo chown root:root XXX
sudo chmod a+X XXX

(2)

sudo usermod --home XXX toto

Hors ligne

#10 Le 22/02/2019, à 14:52

ledid33

Re : Accès SFTP pour un utilisateur pour un dossier

merci Bruno pour ta patience

c'est le usermod que je n'avais pas fait
mais maintenant mon utilisateur peut aller partout dans /home (en sftp)  hmm

Hors ligne

#11 Le 22/02/2019, à 14:56

bruno

Re : Accès SFTP pour un utilisateur pour un dossier

Vérifie que tu as bien ceci dans sshd_config et non ce que j'ai suggéré en #5:

        ChrootDirectory %h

Hors ligne

#12 Le 22/02/2019, à 15:32

ledid33

Re : Accès SFTP pour un utilisateur pour un dossier

oui j'ai bien ceci

ChrootDirectory %h

Hors ligne

#13 Le 27/02/2019, à 12:30

ledid33

Re : Accès SFTP pour un utilisateur pour un dossier

Bonjour Bruno
C'est le Boulet qui revient de vacances et qui n'a toujours pas trouvé de solution à son problème

J'ai tout supprimé (utilisateur et groupe) et suivi cette méthode :

useradd -s /sbin/nologin -M -d / mon_user
passwd mon_user
cat /etc/passwd  grep mon_user
mon_user:x:1021:1021::/:/bin/false
usermod -s /bin/false mon_user
usermod -d / mon_user
adduser mon_user geeks

mon sshd_config

Subsystem sftp internal-sftp
Match group geeks
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory %h

Mon but est d'autoriser mon_user à rentrer en sftp dans le dossier XXX
Celui-ci se trouve dans /home/bidule/XXX

drwxr-xr-x 11 mon_user geeks 4096 févr. 20 11:47 www.ajeter/

Avec cette méthode, mon utilisateur mon-user arrive ici

mini_190227113301253221.jpg

Hors ligne

#14 Le 27/02/2019, à 12:45

bruno

Re : Accès SFTP pour un utilisateur pour un dossier

Évidemment tu as défini le dossier racine « / » comme dossier personnel (home) de ton utilisateur !
Je t'invite à modifier cela d'urgence ou à supprimer cet utilisateur !

Relis le #9

Pour créer un utilisateur toto, ayant pour groupe principal geeks, sans shell, avec  /home/bidule/XXX comme dossier personnel :

sudo useradd toto -g geeks -s /bin/false -d /home/bidule/XXX

Attention /home/bidule/XXX doit appartenir à root.
Ensuite tu définis un mot de passe pour cet utilisateur :

sudo passwd toto

Et enfin tu te connectes en SFTP avec ce mot de passe.

Hors ligne

#15 Le 27/02/2019, à 14:55

ledid33

Re : Accès SFTP pour un utilisateur pour un dossier

Y E S

Merci Bruno
J'ai compris mon erreur

-d / 

au lieu de

-d /home/bidule/XXX

Merci pour ton aide et ta patience

Hors ligne