Okee, komt ie.
Aan je config te zien, gebruik je voor het anonymous gedeelte de user ftpuser (normaliter wordt hier ftp voor gebruikt) en als groep ftpusers (dat raad ik sowieso af, gezien het rechten verhaal dat ik zometeen ga houden.). Ik zou van beiden gewoon 'ftp' maken.
Ik neem aan dat je het zo wil dat mensen dingen kunnen uploaden, maar dat hij niet getagged mag worden (dus dat er ook weer gedwonload kan worden). Wat voor een rechten wil je dan geven aan de directory /home/ftp/upload?
Je geeft als user ftp op en als groep ftpusers (hier zitten dus de legitieme ftp gebruikers in en
niet de user 'ftp').
code:
1
| chown -R ftp:ftpusers /home/ftp/upload |
Nu wil je dat de anonymous user ('ftp' dus) uiteraard de directory kan bereiken, dus er zullen execute rechten op moeten zitten. Daarnaast moet hij bestanden en dirs aan kunnen maken, ofwel hij zal ook write rechten moeten krijgen. Hij krijgt dus
geen leesrechten. (als je de inhoud wel zichtbaar wilt hebben maar niet downloadbaar, dan kan je bijvoorbeeld via proftpd wat limits opgeven).
De users die in de groep ftpusers zitten vertrouw ik allemaal en krijgen in die directory zowel lees, execute als schrijfrechten. Andere users hebben niks te zoeken in die directory dus ik geef het volgende setje rechten aan de directory /home/ftp/upload:
code:
1
| chmod 370 /home/ftp/upload |
Vervolgens ga je ervoor zorgen dat proftpd in het anonymous blok alle nieuw aan te maken bestanden en directories wegschrijft als group 'ftpusers' (waar de user 'ftp' dus zelf geen deel uit van maakt). Dit kan je m.b.v. van proftpd regelen. Lees daarvoor de documentatie maar eens goed
De directories die erop gezet moeten worden moeten uiteraard dezelfde permissies krijgen als de dir /home/ftp/upload. Ook hiervoor heeft proftpd een config optie. Bestanden kan je in dit geval eventueel dezelfde permissies geven als je directories.
Nu heb je het fysieke deel op je harde schijf beveiligd. Uiteraard kan het geen kwaad om ook in proftpd wat beveiligingen aan te brengen (ook al zullen sommige misschien dan dubbelop zijn). Better safe then sorry
Hoe dat moet laat ik je zelf even uitvogelen
[edit]
Overigens klopt de directory die je meteen in het begin van je anonymous blok hebt staan helaam niet.
Daar staat namelijk dat er gechroot moet worden naar /home/ftpuserftpuser