vsftpd匿名用户只能上传不能下载

目的linux

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

要求服务器

1.学生能够直接访问FTP服务器,无需登陆;spa

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

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

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,因此能够不写入配置文件。it

第二个要求是经过anon_upload_enable=YES、anon_mkdir_write_enable=NO、anon_other_write_enable=NO这三个参数实现,即容许匿名用户上传,不容许匿名用户建立目录和其余写入权限(删除和重命名),由于anon_mkdir_write_enable和anon_other_write_enable这两个参数默认值都是NO,因此也能够不写入配置文件。io

第三个要求是经过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),而“其余人”没有可读权限,也同样有效。

相关文章
相关标签/搜索