use*_*318 8 linux ftp upload anonymous vsftpd
我需要 Linux (CentOS 5.5) 上的基本 FTP 服务器,没有任何安全措施,因为服务器和客户端位于测试 LAN 上,未连接到网络的其余部分,该网络本身在 NAT 防火墙后面使用不可路由的 IP没有对 FTP 的传入访问。
有些人推荐Vsftpd 而不是PureFTPd或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
Run Code Online (Sandbox Code Playgroud)
当我从客户端登录时,这是我得到的:
500 OOPS:无法更改目录:/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
Run Code Online (Sandbox Code Playgroud)
编辑:最新的 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
Run Code Online (Sandbox Code Playgroud)
编辑:从“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
Run Code Online (Sandbox Code Playgroud)
用户“ftp”列在/etc/passwd 中,主目录设置为“/var/ftp”,/var/ftp 的访问权限设置为“drwxr-xr-x”,/var/ftp/incoming 为“drwxrwxrwx” ...可能是由于 PAM 吗?我在 /var/log 中找不到任何要调查的 FTP 日志文件。
编辑:这是让 ftp/anonymous 连接并将文件上传到 /var/ftp 的工作配置:
listen=YES
anonymous_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
Run Code Online (Sandbox Code Playgroud)
您已经创建了一个名为 pub/ upload的目录:
# mkdir /var/ftp/pub/upload
Run Code Online (Sandbox Code Playgroud)
但是随后您将上传配置为转到 pub/ incoming:
anon_root=/var/ftp/pub/incoming
Run Code Online (Sandbox Code Playgroud)
所以这是一个简单的路径不匹配,其余的似乎都可以。
归档时间: |
|
查看次数: |
69409 次 |
最近记录: |