Назад | Перейти на главную страницу

Proftpd в Ubuntu - отказано в разрешении на создание каталога (550) после обновления до 9.10

У меня проблемы с 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>