У меня проблемы с ProFTPD, так как я обновился до Ubuntu 9.10 с 9.04.
Когда я вхожу в систему как мой ftp-пользователь (userftp) в терминале, я могу создавать прекрасные каталоги в их домашнем каталоге. Но когда я использую ftp, поскольку это разрешение пользователя отклонено (550 asl: разрешение отклонено), когда я пытаюсь выполнить ту же операцию (создание каталога). Однако загрузка файлов - это нормально.
Я использую ту же конфигурацию для proftpd, что и раньше, я не могу понять, что не так. Любая помощь приветствуется!
Конфигурация следующая:
Include /etc/proftpd/modules.conf
UseIPv6 on
IdentLookups off
ServerName "whatever"
ServerType inetd
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions "-l"
DenyFilter \*.*/
DefaultRoot ~
Port 21
<IfModule mod_dynmasq.c>
</IfModule>
MaxInstances 8
User proftpd
Group nogroup
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>
#
# My additions
#
MaxLoginAttempts 5
#
# My user config
#
#VALID LOGINS
<Limit LOGIN>
AllowUser userftp DenyALL
</Limit>
<Directory /home/userftp>
Umask 022 022
AllowOverwrite off
<Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD> DenyAll </Limit>
</Directory>
<Directory /home/userftp/upload/>
Umask 022 022
AllowOverwrite on
<Limit READ>
DenyAll
</Limit>
<Limit STOR CWD MKD RMD DELE>
AllowAll
</Limit>
</Directory>
Хорошо, после некоторых проб и ошибок я нашел решение.
Мне нужно было добавить команды XRMD и XMKD к тем, которые разрешены пользователем. Они описаны как X-варианты команд RMD и MKD и, по-видимому, «часто отсутствуют при тщательной настройке» согласно http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-Limit.html
Так что, возможно, где-то в моей системе теперь используются эти команды.
Конец моей конфигурации теперь гласит:
<Directory /home/userftp/upload>
Umask 022 022
AllowOverwrite on
<Limit READ>
DenyAll
</Limit>
<Limit STOR CWD MKD RMD DELE XRMD XMKD>
AllowAll
</Limit>
</Directory>