ubuntu 搭建ftp服务器

本文详细介绍了在Ubuntu9.04服务器上使用VSFTPD设置FTP服务器的基本配置及权限管理。包括匿名用户访问、上传功能、文件夹权限设置等,并解决了一个关键错误,即匿名用户无法使用可写根目录的问题。通过更改目录权限,最终实现了匿名用户上传文件的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:Ubuntu 9.04 Server+VSFTPD 2.0.7

slmagicbox@ubuntu904server:~$ uname -a
Linux 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, 故上传文件权限为 666-077=600
        drwx------ 2 ftp nogroup 4096 2009-05-11 13:53 test     #匿名用户默认上传umask=077, 故上传文件夹权限为 777-077=700
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值