Ubuntu Server搭建FTP服務器(1) -- 匿名服務器架設
參考:ubuntu中文wiki百科,網址:wiki.ubuntu.org.cn環境:Ubuntu 9.04 Server+VSFTPD 2.0.7
slmagicbox@ubuntu904server:~$ uname -aLinux ubuntu904server 2.6.28-11-server #42-Ubuntu SMP Fri Apr 17 02:48:10 UTC 2009 i686 GNU/Linux
slmagicbox@ubuntu904server:~$ dpkg -l | grep vsftpd
ii vsftpd 2.0.7-0ubuntu1 The Very Secure FTP Daemon
原始配置文件/etc/vsftpd.conf:
本配置文件爲安裝vsftpd後默認生成的,以“#”開頭爲註釋項 # Example config file /etc/vsftpd.conf listen=YES #以standalone模式運行vsftpd #listen_ipv6=YES anonymous_enable=YES #允許匿名用戶訪問 #local_enable=YES #write_enable=YES #local_umask=022 #anon_upload_enable=YES #anon_mkdir_write_enable=YES dirmessage_enable=YES #當用戶首次進入FTP服務器的目錄時,顯示該目錄下的message消息,默認爲.message文件,可以用message_file來定義 xferlog_enable=YES #啓用日誌,默認路徑/var/log/vsftpd.log connect_from_port_20=YES #數據連接使用默認的ftp-data端口(20端口) #chown_uploads=YES #chown_username=whoever #xferlog_file=/var/log/vsftpd.log #xferlog_std_format=YES #idle_session_timeout=600 #data_connection_timeout=120 #nopriv_user=ftpsecure #async_abor_enable=YES #ascii_upload_enable=YES #ascii_download_enable=YES #ftpd_banner=Welcome to blah FTP service. #deny_email_enable=YES #banned_email_file=/etc/vsftpd.banned_emails # chroot_list_enable below. #chroot_local_user=YES #chroot_list_enable=YES #chroot_list_file=/etc/vsftpd.chroot_list #ls_recurse_enable=YES # Debian customization secure_chroot_dir=/var/run/vsftpd #忽略 pam_service_name=vsftpd #忽略 rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #忽略 rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #忽略 |
slmagicbox@ubuntu904server:~$ cd /home
slmagicbox@ubuntu904server:/home$ ls -l | grep ftp
drwxr-xr-x 2 root nogroup 4096 2009-05-11 10:38 ftp
功能:
1) 默認功能:匿名用戶可以登錄,下載。但是無上傳、修改權限。並且限制在ftp用戶文件夾(/home/ftp) 下訪問.
2)匿名用戶上傳功能:
write_enable=YES #啓用全局上傳
anon_upload_enable=YES #啓用匿名用戶上傳
anon_mkdir_write_enable=YES #啓用匿名用戶新建文件夾權限,建議不開啓
slmagicbox@ubuntu904server:/home$ sudo chown -R ftp\: ftp/
slmagicbox@ubuntu904server:/home$ ls -l | grep ftp
drwxr-xr-x 2 ftp nogroup 4096 2009-05-11 10:44 ftp
結果出錯: 500 OOPS: vsftpd: refusing to run with writable anonymous root
原因: the user that runs as the daemon (in this case user "ftp") cannot have write access to the anonymous root directory.
結論: 匿名用戶主目錄(/home/ftp) 無法作爲上傳目錄,需新建文件夾,並開啓相應寫權限
slmagicbox@ubuntu904server:/home$ sudo chown -R root:nogroup ftp
slmagicbox@ubuntu904server:/$ cd /home/ftp
slmagicbox@ubuntu904server:/home/ftp$ sudo mkdir upload
slmagicbox@ubuntu904server:/home/ftp$ sudo chown ftp\: upload/
slmagicbox@ubuntu904server:/home/ftp$ sudo chmod 755 upload
slmagicbox@ubuntu904server:/home/ftp$ ls -l
drwxr-xr-x 2 ftp nogroup 4096 2009-05-11 13:30 upload
驗證:
###***(1)通過ftp新建一個文件夾 (2)通過ftp上傳一個文件至upload目錄,並注意查看兩者權限 ***###slmagicbox@ubuntu904server:/home/ftp/upload$ ls -l
-rw------- 1 ftp nogroup 0 2009-05-11 13:45 test2 #匿名用戶默認上傳umask=077, 故上傳文件權限爲 677-077=600
drwx------ 2 ftp nogroup 4096 2009-05-11 13:53 test #匿名用戶默認上傳umask=077, 故上傳文件夾權限爲 777-077=700