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),而“其他人”没有可读权限,也一样有效。

时间: 2024-10-11 18:00:46

vsftpd匿名用户只能上传不能下载的相关文章

vsftpd限制用户只能上传不能下载

有时候,项目中有这样的需求:vsftpd只能上传文件不能下载.下面我们就来分享一下个人的经验: 例子1:vsftpd本地用户实现可以上传不能下载(即不能读) 1.创建用于登陆vsftpd的用户.并赋予其密码: useradd test 2.创建vsftpd的共享目录,将其的属主和属组都修改为szl:权限为777 (这里是测试环境): mkdir /mnt/test chown test:test /mnt/test chmod 777 /mnt/test 3.安装vsftpd:此处用yum直接安

创建FTP站点,实现匿名用户的上传与下载

实验准备:一台安装了web服务器(IIS)的虚拟机,一台Windows系统的计算机实验步骤:1.安装FTP服务器①选择角色服务②勾选FTP服务③安装FTP服务器 2.①创建C盘根目录下的a文件夹作为FTP服务器站点的主目录 ②添加文件 1.txt到文件夹a里面⑤设置虚拟机ip地址3.①"开始"菜单--"管理工具"--"信息服务(IIS)管理器"中单击"添加FTP站点"②填写"FTP站点名称"及"物

linux下实现ftp匿名用户的上传和下载文件功能

1.配置/etc//vsftpd/vsftpd.conf 文件如下: 打开文件,改变如下选项,如果文件中没有该选项,需要自己手动编写该选项 write_enable=YES anonymous_enable=YES anon_other_write_enable=YES anon_mkdir_write_enable=YES anon_upload_enable=YES 2.以上配置仅仅是完成了vsftp.conf的ftp允许anonymous的上传设置,还需要对相应的ftp上传用的文件夹设置:

vsftpd开启日志记录上传、下载、删除,分析xferlog日志

在web服务器上搭建了vsftpd用来上传代码程序,开启日志记录客户端的上传.下载删除等操作: #修改/etc/vsftpd/vsftpd.conf [[email protected] ~]# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO anon_root=/ftpanon local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES dual_log_enab

vsftp实现只能上传不能下载、删除权限配置

vsftpd可以对每个用户特别限制.只要给那个用户建立一个设置文件,然后在文件里设置 在vsftpd.conf里加user_config_dir=/etc/vsftpd/vsftpd_user_conf,这是文件夹.当然你可以自己选把用户文件放在哪在此文件夹里新建一个文件,跟用户名相同.VSFTPD会比对用户名和用户设置文件. 在文件里加local_root=PATH to directory就可以更改用户的home directorylocal_max_rate=XXXX就可以限制此用户的带宽

简单的vsftpd的配置匿名用户可以上传文件

# grep -v ^# /etc/vsftpd/vsftpd.conf anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=YES anon_world_readable_only=no anon_other_write_enable=yes anon_other_write_enable=yes dirmessage_enable=YES xferlog_enabl

ubuntu server vsftpd 匿名用户上传下载及目录设置

ubuntu server vsftpd 匿名用户上传下载及目录设置 1:vsftpd服务器安装: sudo apt-get install vsftpd #安装 cd /srv/ #切换到默认匿名用户ftp目录: 运行 ls -l 我们可以看到 默认的 ftp目录是,虚拟用户ftp的根目录,并且此目录是匿名用户管理的根目录, 无论是对 ftp,改组,改用户,改权限都不能在ftp根目录下,上传东西,要么就是ftp匿名无法连接,要么就是不能上传:折腾了几天,终于明白了! ftp 作为匿名用户根目录

Linux中关于远程上传的下载

1.ftp服务 1.ftp服务的启动 1.编辑文件:vim /etc/sysconfig/selinux 第6行selinux=disabled 保存退出. 重启主机. 2.安装vsftpd yum install vsftpd -y systmctl start vsftpd systemctl enable vsftpd 3.防火墙允许ftp连接 firewall-cmd --permanent --add-service=ftp ##允许ftp连接 firewall-cmd --reloa

linux 配置 vsftpd 匿名用户可增加、修改、删除文件

1.vsftpd.conf文件的配置(vi /etc/vsftpd/vsftpd.conf) #允许匿名用户登录FTP anonymous_enable=YES #设置匿名用户的登录目录(如需要,需自己添加并修改) anon_root=/var/ftp/pub #打开匿名用户的上传权限 anon_upload_enable=YES #打开匿名用户创建目录的权限 anon_mkdir_write_enable=YES #打开匿名用户删除和重命名的权限(如需要,需自己添加) anon_other_w