Postawiłem sobie mały serwer FTP (proftpd).
Chce mieć możliwość logowania na swoje konto w obrębie katalogu:
Kod: Zaznacz cały
/home/mike/ftp
Poza tym chcę mieć możliwość anonimowego logowania do katalogu:
Kod: Zaznacz cały
/home/ftp
Raczej mało osób będzie logowało się na tego ftp'a, ale nie chciałbym, żeby kogoś naszła ochota na obejrzenie zawartości mojego hdd i się przy tym zbytnie nie namęczył.
Prawa, właściciel, oraz grupa jakie nadałem dla katalogu /home/mike/ftp:
Kod: Zaznacz cały
dr--r--r-- 2 ftp nogroup 4096 lut 2 17:01 ftp
Tak wygląda mój plik konfiguracyjny proftpd.conf:
Kod: Zaznacz cały
Include /etc/proftpd/modules.conf
UseIPv6 off
IdentLookups off
ServerName "Mike013"
ServerType standalone
DeferWelcome off
#MultilineRFC2228 on
DefaultServer on
#ShowSymlinks on
TimeoutNoTransfer 300
TimeoutStalled 300
TimeoutIdle 300
TimeoutLogin 60
ServerIdent on "Polaczenie udane."
DisplayLogin welcome.msg
#DisplayChdir .message true
ListOptions "-l"
#DenyFilter \*.*/
DefaultRoot ~/ftp
Port 21
# PassivePorts 49152 65534
<IfModule mod_dynmasq.c>
# DynMasqRefresh 28800
</IfModule>
MaxInstances 20
User mike
Group mike
Umask 022 022
AllowOverwrite on
TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log
<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>
<IfModule mod_ratio.c>
Ratios off
</IfModule>
<IfModule mod_delay.c>
DelayEngine on
</IfModule>
<IfModule mod_ctrls.c>
ControlsEngine off
ControlsMaxClients 2
ControlsLog /var/log/proftpd/controls.log
ControlsInterval 5
ControlsSocket /var/run/proftpd/proftpd.sock
</IfModule>
<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>
# Od tego miejsca jest problem - nie działa logowanie anonymous
<Anonymous /home/ftp>
User ftp
Group nogroup
UserAlias anonymous ftp
AnonRequirePassword off
RequireValidShell off
MaxClients 10 "Brak miejsc na serwerze"
MaxClientsPerHost 5 "Za duzo poloczen z jednego IP."
DisplayLogin welcome.msg
# DisplayChdir .message
GroupOwner ftp
Umask 002
# HideUser root
# HideGroup root
HideNoAccess on
<Limit WRITE MKD DELE RMD STOR>
DenyAll
</Limit>
<Limit LIST DIRS READ>
AllowAll
IgnoreHidden on
</Limit>
</Anonymous>