Ubuntu 上的 Proftpd - 升级到 9.10 后创建目录权限被拒绝(550)

Ubuntu 上的 Proftpd - 升级到 9.10 后创建目录权限被拒绝(550)

自从我从 9.04 升级到 Ubuntu 9.10 以来,我在使用 ProFTPD 时遇到了问题。

当我以 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>

答案1

好的,经过反复试验后,我找到了解决方案。

我需要将命令 XRMD 和 XMKD 添加到用户允许的命令中。根据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>

相关内容