Another nice way to create users on linux that have just rights for scp/ftp/cvs/rdist/rsync is RSSH (restricted ssh).
Example (for debian)
installation
apt-get install rssh
configure the rights by editing the config file (uncomment the things he should be able to do)
vi /etc/rssh.conf
add user or modify a already existing user
useradd -m -d /home/heinzi -s /usr/bin/rssh heinzi
usermod -s /usr/bin/rssh heinzi
Now the user can just access by the application you choose for him in rssh.conf.