Troumad wrote:

> Un camarade a trouv� la solution � mes questions (il me semble), je 
> vous passe l'adresse de la r�ponse s'il y a des gens int�ress�. Mais 
> mon niveau d'anglais, comme mon niveau en LINUX, ne m'ont pas permis 
> de bien comprendre.


Comme la question m'int�resse aussi, j'ai lu et traduit l'article en 
question.
Le voila ci-dessous.
Si tu as test� proftp, comment faire pour que l'utilisateur � distance 
ne voit *que* un r�pertoire donn� du host,
et qu'il ne puisse pas remonter dans l'arborescence ?  9a se trouve dans 
proftpd.conf, mais o� ?


 

"Comment puis-je permettre � un utilisateur d'utiliser scp ou sftp, mais 
ne pas autoriser ssh
(c.a.d. d'obtenir un shell ou d'ex�cuter d'autres programmes) ?
La r�ponse est que c'est un peu compliqu� � faire.
 scp1 et scp2 utilise ssh en sub process
pour se connecter au host et ex�cute le serveur appropri� pour converser 
avec scp
et sftp-server respectivement.
Donc, la meilleure chose � faire est de resteindre l'utilisateur � 
ex�cuter le serveur de
transfert de fichier.
La fa�on la plus simple de le faire est de cr�er un compte uniquement � 
cet effet, en lui donnant
un shell qui ne lui permet de faire que du transfert de fichiers.
SSH utilise toujours le shell pour ex�cuter des programmes � distance, aussi
c'est une restriction fiable.
SSH appelle le shell avec l'option -c pour ex�cuter le programme.
La modification devrait accepter ou bien scp avec les arguments appropri�s,
ou sftp-server, suivant le cas.
SSH2 est fourni avec ssh-dummy-shell pour la m�me t�che, ainsi il ne 
g�re naturellement que sftp.

Si vous ne voulez pas limiter le compte utilisateur de cette fa�on,
cela devient plus difficile.

Vous pouvez �galement essayer une identification � cl� publique avec une 
commande forc�e.
C'est simple avec SSH2 :

  # SSH2
  [remote:~/.ssh2/authorization]
  key users_key.pub
  command /usr/local/bin/sftp-server

 Avec SSH1, c'est plus compliqu�, parce que le client passe des arguments
 � scp dans la commande � distance.
 Par exemple :

  client command             runs this on server
  ----------------------------------------------
  scp foo server:bar         scp -t bar
  scp server:bar foo         scp -f bar
  scp *.txt server:dir       scp -d -t dir

 Ainsi, vous avez besoin d'un programme enveloppe pour le resteindre.
 Voila un exemple :

  # SSH1
  [remote:~/.ssh/authorized_keys]
  command="/path/to/scp-wrapper" 1024 37 1440913682374...

  (voir le script Perl � http://www.snailbook.com/faq/scp-wrapper.txt)

 Mais chacune de ces solutions a un d�faut :
 l'autorisation et les cl�s autoris�es sont Writable par le compte 
utilisateur cible.
 Ces mesures sont ais�ment contourn�es en utilisant simplement scp pour 
modifier ces fichiers.
 Donc vous devez les prot�ger des modifications.
 Vous pouvez interdire l'�criture dans le r�pertoire de controle SSH du 
compte,
 ou vous pouvez changer son emplacement par ex. avec l'instruction ssh2 
UserConfigDirectory.

 Par-del� ceci, cependant, il y a encore plus de trous.
 Par exemple, SSH ex�cute le shell de l'utilisateur pour ex�cuter la 
commande � distance,
 avec $SHELL -c "commande".

 Ainsi, vous pouvez tranquillement ex�cuter n'importe quelle
 commande avec scp,  dans le fichier de d�marrage du shell � distance 
(par ex ~/.bashrc),
 et elles seront ex�cut�es la prochaine fois que vous lancez scp.
 Vous devez donc verrouiller le r�pertoire home distant
 de fa�on qu'il ne soit pas writable pour l'utilisateur, et cr�er un espace
 distinct pour y d�poser les fichiers."





Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à