折磨我好多天了,大家来帮帮忙。谢谢。
我在FC5下,以源码安装的方式装好了proftpd1.3,配制运行还算顺利。但现在遇到一个问题:
实体用户上传、下载都正常,匿名用户登录、下载正常,但无法上传。上传文件,会提示上传的文件 不存在(550,No such file or directory),这是怎么回事呀?很怪异,我上传一个文件,怎么报它不存在?
注:1.在匿名用户设置的区域,我使用<limit all>AllowAll</limit>,打开了全部的权限,
2.匿名用户也有ftp目录的写权限。
2008-11-01
最终这个问题解决了,好象是SeLinux的缘故。我在图形界面下,打开系统设置->防火墙与SeLinux设置,将SeLinux给Disable掉了。看官方的参考与,好象使用SetSebool,开启FTP的读写功能,也可以,具体怎么实现我没有去深究。
在安装Proftpd的时候,我还犯了个错误,就可把配制文件的目录搞错了。安装时,配制文件实际位于:/usr/local/proftpd/proftpd.conf,我一直修改/usr/local/etc/proftpd.conf。这两个目录名不一定写的正确,只是提醒网友,不要犯这样的错误:修改错误位置的配制文件。
推荐很好的一篇proftpd的文章:简易FTP Server架设 http://linux.vbird.org/linux_server/0410proftpd.php ,写得比较详细。
其实最详细的东东在proftpd的源码安装包里,我开始的时候没有太注意,后来发现源码解压后,有个Doc目录,有非常详细的帮助文档。真是后悔最开始架设FTP的时候没有发现,还到网上到处找资料。
通过架设ProFTPD,在一定程度上熟悉了Linux操作系统,感觉有点入门了。很高兴。
proftpd有两个种启动方式,standalone(独立,自已管自己)和inetd(xinetd)(由伺服进程管理)。
standalone方式启动有两个方法,一个是装启动脚本(在源码解压目录中,contrib....目录下,具体的点记不清了)拷贝到/etc/init.d/目录下,chmod添加执行权限,然后chkconfig --level 35 proftpd on;另种方法大致相同,只是不用chkconfig,而是在/etc/rc.d/rc.local文件中添加一行:/etc/init.d/proftpd start;
inetd方式启动使用下面的文件:
/etc/xinetd.d/proftpd
service ftp
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/local/proftpd/sbin/proftpd
server_args = -c /usr/local/proftpd/etc/proftpd.conf
log_on_success += DURATION USERID
log_on_failure += USERID
}
注意,server与server_args的值与软件的安装配置有关系,且勿完全照搬照抄
先简单写这么一点吧。有空再好好写一下。