vsftpd匿名用户上传和下载的配置方法

看到很多朋友配置vsftpd时不能使用匿名用户上传和下载(创建目录或删除、重命名文件夹),本文主要解决vsftpd的匿名用户权限配制问题。

配置要注意三部分,请一一仔细对照:

1、vsftpd.conf文件的配置(vi /etc/vsftpd/vsftpd.conf)

#允许匿名用户登录FTP anonymous_enable=YES #打开匿名用户的上传权限 anon_upload_enable=YES #打开匿名用户创建目录的权限 anon_mkdir_write_enable=YES #打开匿名用户删除和重命名的权限(如需要,需自己添加) anon_other_write_enable=YES #匿名用户的掩码(如需要,需自己添加,含义:如umask是022,这时创建一个权限为666的文件,文件的实际权限为666-022=644) anon_umask=022

2、ftp目录的权限设置

默认情况下,ftp的根目录为/var/ftp,为了安全,这个目录默认不允许设置为777权限,否则ftp将无法访问。但是我们要匿名上传文件,需要“other”用户的写权限,正确的做法:

在/var/ftp中建立一个upload(名子自己起吧)文件夹,将个文件夹权限设置为777(视具体需要自己设),在upload这个文件夹中,匿名用户可以上传文件、创建文件夹、删除文件等。

vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了

可以用命令chmod a-w /var/ftp 去除用户主目录的写权限

一般至此,便实现vsftpd匿名用户的上传下载了。如果还不行,就是下面的问题。

3、selinux的配置

SELinux(Security-Enhanced Linux) 是美国国家安全局(NAS)对于强制访问控制的实现,是 Linux上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。

最简单的办法,关闭selinux

方法1:用命令setenforce 0,无需重启。(setenforce的格式:setenforce [ Enforcing | Permissive | 1 | 0 ])

方法2:在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux。

使用getenforce查看当前selinux是否正在运行。

不关闭selinux,就要设置selinux的ftp权限。

1、使用getsebool -a | grep ftp查看ftp相关设置状态,我们要将allow_ftpd_anon_write设为on。

2、使用setsebool -P 进行设置。例:setsebool -P allow_ftpd_anon_write=on。

或使用togglesebool进行bool值取反,例如togglesebool allow_ftpd_anon_write。

3、修改selinux安全上下文,先介绍两个命令:

命令1、ls -Zps -Zid -Z# 分别可以看到文件,进程和用户的SELinux属性

命令2、#chcon 改变SELinux安全上下文

chcon -u [user] 对象 -r [role] -t [type] -R 递归 --reference 源文件 目标文件 # 复制安全上下文

使用方法:

步骤1、ls -Zd /var/ftp/upload/ 通常会看到:

drwxr-xr-x ftp root system_u:object_r:public_content_t /var/ftp/upload/

步骤2、chcon -R -t public_content_rw_t /var/ftp/upload/

步骤3、ls -Zd /var/ftp/upload/ 如果看到如下信息就OK了:

drwxr-xr-x ftp root system_u:object_r:public_content_rw_t /var/ftp/upload/

最后还是重启下selinux和vsftpd吧,不重启其实也没关系。重新登录到ftp上,应该就能解决问题了。

还有啊,selinux的图形界面 可由system-config-selinux命令进入。

以上这篇vsftpd匿名用户上传和下载的配置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

  • VSFTPD配置(匿名——本地用户——虚拟用户)
  • Windows下ftp服务器实现匿名访问的配置方法
(0)

相关推荐

  • Windows下ftp服务器实现匿名访问的配置方法

    方法一:filezilla server,安装完后在windows 防火墙里浏览到安装目录找到这个程序后允许相应的网络权限,在filezilla server里创建名为anonymous的无密码帐户,就能匿名登录ftp了.建议端口号都使用默认的14147和21. 缺点:开机自启动有点烦,start/stop server要管理员权限. 方法二:windows自带的iis FTP服务,见win7自带的IIS实现FTP服务器的架设,仍旧要注意的是在windows防火墙里允许"FTP服务"访

  • VSFTPD配置(匿名——本地用户——虚拟用户)

    1,下载VSFTPD.TAR.GZ 程序下载地址:ftp://vsftpd.beasts.org/users/cevans/ 2,检查和建立相应账户和目录 1,nobody用户 [root@main vsftpd-2.1.0]# cat /etc/passwd |grep nobody nobody:x:99:99:Nobody:/:/sbin/nologin 如不存在请建立相关账户. 2,/usr/share/empty 目录, 如不存在请创建 3,如允许匿名访问,需创建Ftp用户,家目录为/

  • vsftpd匿名用户上传和下载的配置方法

    看到很多朋友配置vsftpd时不能使用匿名用户上传和下载(创建目录或删除.重命名文件夹),本文主要解决vsftpd的匿名用户权限配制问题. 配置要注意三部分,请一一仔细对照: 1.vsftpd.conf文件的配置(vi /etc/vsftpd/vsftpd.conf) #允许匿名用户登录FTP anonymous_enable=YES #打开匿名用户的上传权限 anon_upload_enable=YES #打开匿名用户创建目录的权限 anon_mkdir_write_enable=YES #打

  • php实现SAE上使用storage上传与下载文件的方法

    本文实例讲述了php实现SAE上使用storage上传与下载文件的方法.分享给大家供大家参考.具体如下: <?php if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: "

  • JAVA通过HttpURLConnection 上传和下载文件的方法

    本文介绍了JAVA通过HttpURLConnection 上传和下载文件的方法,分享给大家,具体如下: HttpURLConnection文件上传 HttpURLConnection采用模拟浏览器上传的数据格式,上传给服务器 上传代码如下: package com.util; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.DataOutputStream; import java

  • 在Linux服务器和windows系统之间上传与下载文件的方法

    背景:Linux服务器文件上传下载. XShell+Xftp安装包(解压即用)百度网盘链接: https://pan.baidu.com/s/1rT_oXxbIjWgiHy9JHiWakw 提取码: cqrt 方式一.通过Shell First. 开启本地虚拟机,在Shell中连接本地Linux服务器,其中主机填Linux的IP地址.用户名和密码是Linux的登陆名和密码.其它的保留默认值,确定,然后接受并保存即可. Second sz命令发送文件到本地 # sz filename rz命令本地

  • C#文件上传与下载的实现方法

    本文实例为大家分享了C#实现文件上传与下载的具体代码,供大家参考,具体内容如下 C#实现文件上传代码: public ActionResult Upload() { // var pathUrl = "http://" + Request.Url.Authority; var file = Request.Files["Filedata"]; var uploadFileName = file.FileName; string filePath = "/F

  • 解决linux ftp匿名上传、下载开机自启问题

    如果在平时学习,工作中经常使用 FTP 服务器 ,可以设置成开机自启,在设置之前要先了解几个关于自启的命令: 1.chkconfig 命令 主要作用:用于检查,设置系统的各种服务.其中有几个重要参数,先了解 --list ,chkconfig --list :列出 chkconfig 知道的所有命令,chkconfig 服务名 on /off :开启,关闭服务(一般是开机自启或是关闭) 2.检查是否设置 vsftpd 开机自启, chkconfig --list | grep vsftpd :"

  • 微信js-sdk上传与下载图片接口用法示例

    本文实例讲述了微信js-sdk上传与下载图片接口用法.分享给大家供大家参考,具体如下: 前提已经在wx.config()中,将图片接口验证通过. 微信js-sdk 中上传图片接口(uploadImage)和下载图片接口(downloadImage)都是针对微信服务器本身的.以官方文档为准 注: 1.使用chooseImage接口获取到微信客户端图片地址的与都是 weixin://xxxx 2.上传图片有效期3天,可用微信多媒体接口下载图片到自己的服务器,此处获得的 serverId 即 medi

  • 利用django如何解析用户上传的excel文件

    前言 我们在工作中的时候,会有这种需求:用户上传一个格式固定excel表格到网站上,然后程序负债解析内容并进行处理.我最近在工作中就遇到了,所以想着将解决的过程总结分享出来,方便大家参考学习,下面话不多说,来一起看看详细的介绍: 举一个简单的栗子,比如我们有这样一个HTML: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> &l

  • JavaEE实现前后台交互的文件上传与下载

    首先为大家介绍相关的技术: service方法中的两个重要参数. ServletRequest – 用接收用户的请求,它的作用是: 可获取请求头信息. 可设置请请求的字符编码. 可获得用户传递的参数.Post或get. 可获取远程(即访问者)的IP地址. 可获取输入流,如用户上传文件.相片等. 它的一个子接口:javax.servlet.http.HttpServletRequest ServletResponse – 用于向用户返回数据. 设置响应类型- contentType 设置编码-se

  • JavaEE组件commons-fileupload实现文件上传、下载

    一.文件上传概述 实现Web开发中的文件上传功能,需要两步操作: 1.在Web页面中添加上传输入项 <form action="#" method="post" enctype="multipart/form-data"> <input type="file" name="filename1"/><br> <input type="file" n

随机推荐