自从我从9.04升级到Ubuntu 9.10后,我遇到了ProFTPD的问题。
当我在terminal上以我的ftp用户(userftp)login时,我可以在他们的主目录中创builddir。 但是,当我使用ftp,因为当我尝试执行相同的操作(创build一个目录)时,此用户权限被拒绝(550 asl:permission denied)。 上传文件是好的,但。
我使用了和以前一样的proftpdconfiguration,我不明白是什么错。 任何帮助感激!
configuration如下:
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>
好吧,经过一些试验和错误,我find了解决办法。
我需要将命令XRMD和XMKD添加到用户允许的命令。 它们被描述为命令RMD和MKD的X变体,根据http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-Limit显然“通常从彻底的configuration中丢失” 。 HTML
因此,也许在我的系统中的某个地方,现在正在使用这些命令。
现在我的configuration文件的结尾是:
<Directory /home/userftp/upload> Umask 022 022 AllowOverwrite on <Limit READ> DenyAll </Limit> <Limit STOR CWD MKD RMD DELE XRMD XMKD> AllowAll </Limit> </Directory>