Bon, il y a deux trucs :
- deja un serveur FTP doit, pour les connexions actives, pouvoir creer des sockets avec comme port d'origine, le port 20 (en fait port du ftp - 1). Ca a lieu apres l'authentification, donc pour que ce soit possible, il faut etre en root du debut a la fin (que ce soit dans le meme process ou un process separe) .
- En dehors de ca, Linux gere des capacites. C'est un peu comme des droits classiques, sauf que ca s'applique a des ressources bien particulieres. Quand pure-ftpd demarre, il dit en gros au noyau : bon, alors voila, je suis autorise a creer des sockets sur des ports privilegies, a mettre des options tcp et a utiliser chroot, RIEN D'AUTRE. Et des l'instant ou des capacites ont ete revoquees, on ne peut pas les recuperer par la suite. En gros meme si "ps" t'affiche "root", les process ont des droits encore plus limites qu'un utilisateur "nobody".
---------------
C'est en forgeant qu'on devient con comme un forgeron.