我需要一个基本的FTP服务器在
Linux(CentOS 5.5)上没有任何安全措施,因为服务器和客户端位于测试局域网上,没有连接到网络的其余部分,网络本身使用NAT防火墙后面的不可路由的IP没有FTP访问权限.
有些人建议Vsftpd或0700或ProFTPd.无论我尝试什么,我都不能让它允许匿名用户(即记录为“ftp”或“匿名”并输入任何字符串作为密码)来上传文件:
# yum install vsftpd # mkdir /var/ftp/pub/upload # cat vsftpd.conf listen=YES anonymous_enable=YES local_enable=YES write_enable=YES xferlog_file=YES #anonymous users are restricted (chrooted) to anon_root #directory was created by root,hence owned by root.root anon_root=/var/ftp/pub/incoming anon_upload_enable=YES anon_mkdir_write_enable=YES #chroot_local_user=NO #chroot_list_enable=YES #chroot_list_file=/etc/vsftpd.chroot_list chown_uploads=YES
当我从客户端登录时,这是我得到的:
500 OOPS: cannot change directory:/var/ftp/pub/incoming
我也试过“#chmod 777 / var / ftp / incoming /”,但得到了同样的错误.
有人知道如何以最低的安全性配置Vsftpd吗?
谢谢.
编辑:SELinux被禁用,这是文件权限:
# cat /etc/sysconfig/selinux SELINUX=disabled SELINUXTYPE=targeted SETLOCALDEFS=0 # sestatus SELinux status: disabled # getenforce Disabled # grep ftp /etc/passwd ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin # ll /var/ drwxr-xr-x 4 root root 4096 Mar 14 10:53 ftp # ll /var/ftp/ drwxrwxrwx 2 ftp ftp 4096 Mar 14 10:53 incoming drwxr-xr-x 3 ftp ftp 4096 Mar 14 11:29 pub
编辑:最新的vsftpd.conf:
listen=YES local_enable=YES write_enable=YES xferlog_file=YES #anonymous users are restricted (chrooted) to anon_root anonymous_enable=YES anon_root=/var/ftp/pub/incoming anon_upload_enable=YES anon_mkdir_write_enable=YES #500 OOPS: bad bool value in config file for: chown_uploads chown_uploads=YES chown_username=ftp
编辑:从“chown_uploads”中删除尾随空格,错误500已解决,但匿名仍无效:
client> ./ftp server Connected to server. 220 (vsFTPd 2.0.5) Name (server:root): ftp 331 Please specify the password. Password: 500 OOPS: cannot change directory:/var/ftp/pub/incoming Login Failed. ftp> bye
在/ etc / passwd中列出用户“ftp”,主目录设置为“/ var / ftp”,并且/ var / ftp的访问权限设置为“drwxr-xr-x”,/ var / ftp / incoming设置为“drwxrwxrwx” ……可能是因为PAM可能?我没有在/ var / log中找到任何FTP日志文件来调查.
编辑:这是一个工作配置,让ftp /匿名连接并上传文件到/ var / ftp:
listen=YES anonymous_enable=YES write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES
解决方法
您已经创建了一个名为pub / upload的目录:
# mkdir /var/ftp/pub/upload
但后来你配置了上传到pub / incoming:
anon_root=/var/ftp/pub/incoming
所以这是一个简单的路径不匹配,其余的似乎都没问题.