zoukankan      html  css  js  c++  java
  • vsftpd匿名用户只能上传不能下载

    目的

    搭建一台FTP服务器,供学生上传作业使用。

    要求

    1.学生可以直接访问FTP服务器,无需登录;

    2.只能上传文件,不能创建文件夹、重命名、删除等;

    3.不能下载文件(防抄袭);

    4.不能在线查看文件。

    配置
    # 创建upload目录
    mkdir /var/ftp/upload
    # 改变属主
    chown ftp /var/ftp/upload

    # 用以下内容替换/etc/vsftpd/vsftpd.conf文件原来的内容
    listen=YES
    write_enable=YES
    anon_upload_enable=YES
     
    # 重启vsftpd服务
    service vsftpd restart
    原理解释

    第一个要求是通过anonymous_enable=YES参数实现的,即允许匿名用户登录,因为这个参数的值默认就是YES,所以可以不写入配置文件。

    第二个要求是通过anon_upload_enable=YES、anon_mkdir_write_enable=NO、anon_other_write_enable=NO这三个参数实现,即允许匿名用户上传,不允许匿名用户创建目录和其他写入权限(删除和重命名),因为anon_mkdir_write_enable和anon_other_write_enable这两个参数默认值都是NO,所以也可以不写入配置文件。

    第三个要求是通过anon_world_readable_only=YES、anon_umask=077这两个参数实现的,具体原理可以参见我的另外一篇博客:anon_world_readable_only的作用。

    第四个要求是针对txt文档而言,如果学生上传的作业不是以txt文档保存的话就不需要配置了,当然,你可以利用file_open_mode=0000来控制上传文件的权限,这样就算是txt文件,也无法在线查看了。

    注:anon_world_readable_only的作用

       linux文件权限分成“属主”、“属组”和“其他人”这三种,如果“其他人”没有可读权限,那anon_world_readable_only这个参数就起效了,对于目录来说,如果“其他人”没有可读权限,且anon_world_readable_only=YES,则匿名用户无法浏览该目录下的所有内容(看上去像个空目录),而对于文件来说,如果“其他人”没有可读权限,且anon_world_readable_only=YES,则匿名用户无法下载该文件。 

    注:就算文件的“属主”是匿名用户(ftp),而“其他人”没有可读权限,也一样有效。

  • 相关阅读:
    PHP概率算法---砸金蛋示例
    onethink----网站配置信息调用!
    ajax解决跨域方法(适用于自己写接口解决跨域)
    JavaScript获取地址栏的参数!
    Atitit. null错误的设计 使用Optional来处理null
    Atitit.常用的gc算法
    Atitit.java expression fsm 表达式分词fsm引擎
    Atitit.安全性方案规划设计4gm  v1 q928
    Atitit.安全性方案规划设计4gm  v1 q928
    Atitit.java expression fsm 表达式分词fsm引擎
  • 原文地址:https://www.cnblogs.com/bwteacher/p/4770996.html
Copyright © 2011-2022 走看看