Pages : 1
#1 Le 21/02/2019, à 14: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, à 14: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, à 14:38)
#3 Le 21/02/2019, à 15: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, à 08: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, à 09:00
- bruno
Re : Accès SFTP pour un utilisateur pour un dossier
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.
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, à 09:02)
#6 Le 22/02/2019, à 09: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, à 10: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.
#8 Le 22/02/2019, à 10: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, à 11: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
#10 Le 22/02/2019, à 13: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)
Hors ligne
#11 Le 22/02/2019, à 13: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
#12 Le 22/02/2019, à 14: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, à 11: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
Hors ligne
#14 Le 27/02/2019, à 11: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.
#15 Le 27/02/2019, à 13: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
Pages : 1