lorsqu'un utilisateur ``invité'' (guest) c'est à dire appartenant à un compte guest pour le serveur, se connecte au serveur, la commande
ls ne renvoie rien .. ce probleme est couramment évoqué dans le FAQ de wu-ftp
I use wu-ftpd to create guest accounts in my computer, but i don´tPour vérifier qu'une commande fonctionne bien après avoir fait un changement de racine virtuel on peut tester la commande suivante:
> see any archive or directory. I make this setup using "How to setup
> WU-FTPD Guest Accounts".
You have to put a *statically linked* ls in every user's home directory
(~user/bin/ls), or a dynamically linked ls along with all libraries it is
using (ldd ls).
Using a statically linked ls is less trouble.
Or, you might want to test the "internal ls" feature found in BeroFTPD
1.1.1 (ftp://aachen.linux.de/pub/BeroFTPD/).
$ ldd bin/lsMais dans mon cas, cette raison n'était apparemment pas la cause de l'erreur. Cette commande ne fonctionnait pas car elle n'etait pas trouvée par le serveur en raison d'une erreur dans le répertoire d'accueil du compte ``guest'' et du changement de sa racine ``/'' virtuelle. En effet lors de la création du compte guest il faut rajouter une ligne dans /etc/passwdlibc.so.5 => /lib/libc.so.5.3.12
La FAQ préconise de relinker une version ``statique'' de ``ls'' . Ce que l'on peut faire à partir du package GNU ``fileutils'' disponibles sur tout bon serveur linux
- ftp://prep.ai.mit.edu/pub/gnu/fileutils-3.16.tar.gz
mirror:sWhcGf8.0v02bA:506:505:compte mirroir antivirus Nice:/home/./mirror/:/etc/ftponlyqui indique à partir de quel répertoire du file system Unix va se faire le changement de racine /
univmrs:KWhc.4.0jk7902bA:507:505:compte mirroir antivirus Nice:/home/ftp/.//:/etc/ftponly
Dans l'exemple ci dessus, pour le compte guest ``univmrs'', la nouvelle racine / sera après connexion égale à /home/ftp. Il faut qu'après la connexion le répertoire ``bin'' du serveur ftp (donc /home/ftp/bin) soit accessible directement depuis cette nouvelle racine
Ainsi si le compte ftp se trouve dans /home/ftp, on trouvera les répertoires conventionnels suivants:
total 8il est nécessaire qu'on puisse trouver /bin/ls à partir de cette nouvelle racine, (``/'' <=> ``/home/ftp'') pourque la commande ``ls'' fonctionne correctement
-rw-rw-r- 1 root root 30 Aug 14 15:06 README
drwxr-xr-x 2 root root 1024 Aug 11 17:27 bin
drwxr-xr- 2 root root 1024 Aug 11 17:25 dev
d-x-x-x 2 root root 1024 Aug 14 15:39 etc
drwxr-xr-x 2 root root 1024 Aug 14 10:54 lib
drwxr-xr-x 11 root root 1024 Aug 15 04:00 mirror
drwxr-xr-x 2 root root 1024 Aug 14 14:47 pub
Si on fait l'erreur de mettre un mauvais path comme nouvelle racine virtuelle
guest:sq?nuu2bAoo:506:505:compte guest ftp:/home/./guest/:/etc/ftponly
la nouvelle racine ``/'' après connexion sera égale à /home. Dans ce cas la commande /bin/ls n'est pas trouvée!! puisque à partir de cette nouvelle racine, elle se trouverait dans /ftp/bin/ls