Potrzebowałem zrobić dość specyficzną konfigurację serwera ftp na linuxie i zajęło mi chyba pół dnia przeglądanie różnego rodzaju rozwiązań, tutoriali i innych dokumentów aby dojść do tego, że najprościej będzie skonfigurować najpopularniejszy serwer czyli Proftpd. Zdziwiłem się bo nie znalazłem opisu takiej konfiguracji jaka była mi potrzebna a wydaje mi się, że jest jak najbardziej naturalna i pewnie na wielu serwerach wykorzystywana. Otóż chodzi o to by wszystkich użytkowników skierować do jednego katalogu domowego i dopiero tam, zarządzając odpowiednio uprawnieniami określić kto do czego ma dostęp i na jakim poziomie. Jak to zrobić? Wszystko co musimy to wyedytować proftpd.conf i ustawić DefaultRoot i DefaultChdir na katalog główny ftp np /home/ftp/ a następnie ustawić dobrze prawa do poszczególnych katalogów np:
DenyAll
Efekt powyższego zapisu będzie taki, że wszyscy użytkownicy będą mogli odczytać katalog xxx ale tylko użytkownik nessip będzie mógł zapisywać.
Zakres dostępnej dla nas konfiguracji jest dość szeroki i opiera się na poszczególnych właściwościach i komendach:
* ALL
Covering: all FTP commands
* DIRS
Covering: CDUP, CWD, LIST, MDTM, NLST, PWD, RNFR, STAT, XCUP, XCWD, XPWD
* LOGIN
Covering: client logins
* READ
Covering: RETR, SIZE
* WRITE
Covering: APPE, DELE, MKD, RMD, RNTO, STOR, STOU, XMKD, XRMD
A tutaj pełne Howto.