Try something like this...
ServerType standalone
DefaultServer on
Port 21
Umask 007
MaxInstances 10
AllowOverwrite on
UseReverseDNS off
IdentLookups off
<Limit ALL>
Order deny,allow
</Limit>
<VirtualHost 192.168.1.1>
ServerName "Chris's Linux FTP Server"
DefaultRoot /ftp
Port 21
User proftpd
Group proftpd
AllowOverwrite On
DisplayLogin ./readme.txt
ExtendedLog /root/access.log read,write
ExtendedLog /root/auth.log auth
<Limit Login>
DenyGroup !proftpd
</Limit>
<Limit READ DIRS>
DenyGroup !proftpd
</Limit>
<Limit WRITE>
DenyGroup !admins
</Limit>
<Directory /ftp/upload/*>
<Limit WRITE>
AllowGroup proftpd
DenyAll
</Limit>
</Directory>
</VirtualHost>
Make sure to add any users who need to connect to the "proftpd" group and set the permissions on /ftp equal to 770...
chown proftpd.proftpd /ftp -R
chmod 770 /ftp -R
Whenever you see a "Deny !somegroup", it means deny everybody EXCEPT somegroup. The ! (pronounced "bang"

means NOT.
In my example, all users can read everything in /ftp, and they can only write to /ftp/upload. Members of the "admins" group can read/write everywhere.
Use this as a template and customize it to fit your needs.
Oh, and by the way, you don't need the <VirtualHost> containers, but I like to use them because it makes it easy to add them at a later date if you end up needing Vhosts.
ChrisP