Linux
允許匿名上傳 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
當我從客戶端登錄時,這是我得到的:
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
編輯:最新的 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”中刪除尾隨空格,解決了 err 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/anonymous 連接並將文件上傳到 /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
所以這是一個簡單的路徑不匹配,其餘的似乎都可以。
- 對於匿名登錄,更改
/etc/passwd
.ftp:x:119:131:ftp daemon,,,:/var/ftp/pub/:/bin/false
- 並將其添加到您的
/etc/vsftpd.conf
文件中。allow_writeable_chroot=YES
- 並確保
ftp
使用者有權 (chmod 755
) 進入到該位置的每個目錄/var/ftp/pub/
我與這個問題鬥爭了好幾個小時。vsftpd 沒有給出明確的幫助或錯誤建議。