vsftp企业级搭建和应用实施

【解决】Vsftp匿名上传问题

本文前提需要关闭selinux

编辑Vsftp的配置文件vsftp.conf。有关匿名的相关选项全部开启,如下图:

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

以上设置,基本上大家都知道的。但是如果你只修改此文件的话,你会发现使用匿名用户还是无法上传文件。

需要注意就是vsftpd的公共目录/var/ftp/pub的权限。

我们在此需要做的就是把该目录的权限设置为777,切记不要修改该目录的所属者及所属组,否则即使你修改了该目录的权限,也是无法上传文件的。该目录默认所属者是root用户和root用户组。

刚开始我就是犯了这样的错误,把该目录的所属者修改为ftp用户。因为我猜想vsftp的匿名用户使用的就是系统中的ftp用户。可是事实告诉我,我的猜想是错的。

切记,匿名用户只能在/var/ftp/pub目录下。

vsftpd虚拟用户与匿名用户配合使用

要求:在公司FTP服务器上,用户ilanni对/data目录下所有的目录都具有管理员权限,即删除、新建、重命名、上传等。而匿名用户可以浏览data目录下的所有目录,其中只对tmp目录具有管理员权限。

这样可以达到只有一个管理员账号,可以对/data目录进行操作,而公司的其他员工帐号都可以浏览/data目录,并且在/data/tmp目录下可以新建自己的目录,并上传文件等权限。

现在我们先新建目录/data,如下图:

[[email protected] /]# mkdir data

再在/data/目录新建几个目录以及tmp目录,如下图:

[[email protected] /]# cd /data/

[[email protected] data]# mkdir soft gane tmp

为了更简单的进行控制,我们就不在系统中新建用户,直接使用root用户及root用户组,通过root用户及root用户组对目录的权限,来达到虚拟用户对目录的权限。

因为/data/tmp目录对于匿名用户来说具有各种权限,所以我们需要修改/data/tmp目录的用户及用户组权限。

该目录是root用户创建,所以目前该目录的权限是root用户拥有所有权,如下图:

[[email protected] data]# ll
总计 12
drwxr-xr-x 2 root root 4096 09-16 16:09 gane
drwxr-xr-x 2 root root 4096 09-16 16:09 soft
drwxr-xr-x 2 root root 4096 09-16 16:09 tmp

现在修改权限为777,即所有用户对该目录具有所有权。

[[email protected] data]# chmod 777 tmp/
[[email protected] data]# ll
总计 12
drwxr-xr-x 2 root root 4096 09-16 16:09 gane
drwxr-xr-x 2 root root 4096 09-16 16:09 soft
drwxrwxrwx 2 root root 4096 09-16 16:09 tmp

目录权限修改完毕后,现在开始配置vsftpd虚拟用户。

修改vsftpd的配置文件如下:

anonymous_enable=YES
anon_upload_enable=YES   //开启匿名用户的上传权限
anon_mkdir_write_enable=YES   //开启匿名用户创建目录的权限
anon_other_write_enable=YES   //开启匿名用户删除和重命名的权限
为了让用户登录后直接进入的就是/data目录,在此我们还要修改本地用户与匿名用户的默认根目录
local_root=/data
anon_root=/data

现在开始添加vsftpd虚拟用户ilanni

cd /etc/vsftpd
Vim login.txt
ilanni
ilanni

添加完毕后,我们需要使用db_load命令把该用户添加到数据库文件中:

db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db

注意该操作建议多执行两次,因为有可能执行一次不成功。

数据库文件操作完毕,我们现在开始创建ilanni对应相关配置文件。打开vu目录并创建ilanni文件,并添加如下内容:

mkdir -pv /etc/vsftpd/vu
vim ilanni
guest_username=root
local_root=/data/
virtual_use_local_privs=YES

以上全部配置完毕后,要重启vsftpd服务。

测试相关权限。先使用匿名用户,进行测试。匿名用户登录

测试匿名用户在/data/soft/目录下上传文件,上传失败。

测试匿名用户在/data/tmp/目录下上传文件,上传成功。

测试匿名用户在/data/tmp/目录下创建文件夹,创建成功。

测试匿名用户在/data/tmp/目录下删除文件,删除成功。

时间: 2024-08-05 02:39:04

vsftp企业级搭建和应用实施的相关文章

linux下vsftp服务搭建

实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验一:测试默认安装vsftpd的结果 匿名用户与本地用户都可以登录 匿名用户登录到/var/ftp,只能下载不能上传 本地用户登录到本地用户的家目录,可以上传和下载 [[email protected] ~]# rpm -q vsftpd  //检查软件包是否安装 package vsftpd is not installed [[email protec

个人博客搭建线上实施方案

个人博客搭建线上实施方案 在hexo本地实施没有问题的基础上 实施方案 方案一:GithubPages 创建Github账号 创建仓库, 仓库名为:.github.io 将本地Hexo博客推送到GithubPages 3.1. 安装hexo-deployer-git插件.在命令行(即Git Bash)运行以下命令即可: $ npm install hexo-deployer-git --save 3.2. 添加SSH key. 创建一个 SSH key .在命令行(即Git Bash)输入以下命

linux 下vsftp的搭建和使用

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件. linux 下搭建vsftp服务器.首先是安装vsftpd yum install -y vsftpd 启动服务 service vsftpd start 此时可以在win下访问 ftp:// IP 该目录在/etc/var/ftp/pub  该目录下只允许下载文件,不允许查看和上传 需要修改vsftp的主配置文件/etc/vsftpd/vsftpd.conf anonymous_enable=YES           

vsftp 环境搭建 以及iptables设置

ftp连接方式有两种,一种是PORT,也就是主动连接,一种是PASV,也就是被动模式.两者的具体区别就不讲了,网上资料很多. 我们采用客户端PASV被动模式 首先我们配置linux系统的防火墙iptables(防火墙一定要配好,不然会导致连接不上报227 Entering Passive Mode (182,92,150,235,145,19).错误) 1.编辑/etc/sysconfig/iptables-config文件,添加以下两行: IPTABLES_MODULES="ip_conntr

vsftp服务器搭建

1.FTP的主动模式和被动模式的区别: 最大的区别是数据端口并不总是20, 主动模式和被动模式的优缺点: 主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利.因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端 的防火墙阻塞掉.被动FTP对FTP客户端的管理有利,但对服务器端的管理不利.因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而 这个端口很有可能被服务器端的防火墙阻塞掉. 2.主要FTP的服务器: Vsftpd,pureftpd,

vsftp服务搭建配置

1.安装vsftp 2.配置服务 3.创建虚拟用户 4.安装db4 5.建立认证文件 6.配置admin和pub用户访问权限 7.验证vsftp服务 1.安装vsftp yum -y install vsftpd 备注:Centos7无法安装db4,需要安装以下软件包即可: yum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI 2.配置服务 cd /etc/vsftpd vi vsftpd.conf     (注意每

Linux学习笔记11—VSFTP的搭建

1.查看是否安装vsftp rpm -qa | grep vsftpd 如果出现vsftpd-2.0.5-21.el5,说明已经安装 vsftp 安装vsftp yum -y install vsftpd2.查看服务是否启动Service vsftpd status // 查看VSFTPD的状态Service vsftpd start //启动VSFTP服务Service vsftpd restart //重新启动服务Service vsftpd stop // 停止服务3.配置vsftpd#

centos7中vsftp的搭建

开启vsftpd:service vsftpd start关闭vsftp:service vsftpd stop 安装vsftpd: yum -y install vsftpd 建立vsftpd帐号:useradd ftpuserpasswd ftpuser输入你的密码 关闭防火墙# 或者在防火墙开启21端口: 修改selinux:已禁用 修改/etc/vsftpd/vsftpd.confanonymous_enable=NOpasv_min_port=30000pasv_max_port=30

vsftp快速搭建ftp服务器

什么是vsftp: vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面.它支持很多其他的 FTP 服务器不支持的特征.此外,本文还介绍了FTP基本原理,以及FTP用户管理方面的基础知识 #install ftp server sudo apt install vsftpd #check ftp status sudo service vsftpd status #add ftp connec