vsftpd安装配置详细教程

hechunhua hechunhua     2022-09-16     701

关键词:

linux下ftp软件不少,大致特点:<br /> wu-ftp:比较老牌,但针对它的攻击比较多,设置比较麻烦,但功能比较强大。<br /> vsftpd:功能强大,配置也比较简单
 

linux下ftp软件不少,大致特点:
wu-ftp:比较老牌,但针对它的攻击比较多,设置比较麻烦,但功能比较强大。
ProFTPD:能实现wu-ftp以及server-U的所有功能。安全性也较高,但比起vsftpd配置稍显复杂。
vsftpd:功能强大,配置也比较简单

选vsftpd是因为它安全、速度快。
选ProFTPD偶尔看到webmin支持他,所以就用了,因为方便。
选Serv-U理由windows普遍,Serv-U方便,但最大问题是盗版,所以现在不大用了。

一、安装
# yum install vsftpd

二、安装db4包,使能db_load
# yum install db4.i386
# yum install db4-utils.i386

三、vsftpd文件说明
/etc/vsftpd/vsftpd.conf     主配置文件
/usr/sbin/vsftpd            Vsftpd的主程序
/etc/rc.d/init.d/vsftpd     启动脚本
/etc/pam.d/vsftpd           PAM认证文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止访问的用户来自/etc/vsftpd/ftpusers文件中的用户)
/etc/vsftpd/ftpusers        禁止使用vsftpd的用户列表文件。记录不允许访问FTP服务器的用户名单,管理员可以把一些对系统安全有威胁的用户账号记录在此文件中,以免用户从FTP登录后获得大于上传下载操作的权利,而对系统造成损坏。(注意:linux-4中此文件在/etc/目录下)
/etc/vsftpd/user_list       禁止或允许使用vsftpd的用户列表文件。这个文件中指定的用户缺省情况(即在/etc/vsftpd/vsftpd.conf中设置userlist_deny=YES)下也不能访问FTP服务器,在设置了userlist_deny=NO时,仅允许user_list中指定的用户访问FTP服务器。(注意:linux-4中此文件在/etc/目录下)
/var/ftp                    匿名用户主目录;本地用户主目录为:/home/用户主目录,即登录后进入自己家目录 
/var/ftp/pub                匿名用户的下载目录,此目录需赋权根chmod 1777 pub(1为特殊权限,使上载后无法删除)
/etc/logrotate.d/vsftpd.log 日志文件

四、关闭防火墙
# service iptables stop

五、关闭SELinux
方法有多个
1、暂时关闭(不需要重启)
# setenforce 0 (关闭)
# setenforce 1 (启用)
# getenforce   (查看状态)

2、编辑配置文件(永久关闭需要重启)
# vi /etc/selinux/config
将SELINUX=enforcing改为:SELINUX=disabled

六、配置匿名用户访问
0、备份配置文件:
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

1、vsftpd安装后,其配置文件所在目录为:/etc/vsftpd/;匿名用户的主目录为:/var/ftp
2、 配置vsftpd.conf主配置文件(服务器配置支持上传)
# vi /etc/vsftpd/vsftpd.conf
 

复制代码代码如下:
anonymous_enable=YES        (允许匿名用户访问)
anon_upload_enable=YES      (允许匿名用户上传文件)
anon_mkdir_write_enable=YES (允许匿名用户创建目录)

3、创建上传目录及配置目录权限(注意:匿名用户的主目录/var/ftp权限是755,这个权限不能随意改变,否则客户端无法连接)
 

复制代码代码如下:

# mkdir /var/ftp/homework/
# chown ftp /var/ftp/homework/
# ls -Zd /var/ftp/homework/             (查看上下文)
drwxrwxr-x  ftp ftp user_u:object_r:public_content_t /var/ftp/homework/
# chcon -t public_content_rw_t /var/ftp/homework/   (修改上下文,使可写)
# ls -Zd /var/ftp/homework/             (查看确认上下文)
drwxrwxr-x  ftp ftp user_u:object_r:public_content_rw_t /var/ftp/homework/

(若未关闭SELinux,还需以下步骤)
# getsebool -a | grep ftp               (查找与ftp相关的 SELinux bool值)
# setsebool -P allow_ftpd_anon_write 1  (设置SELinux bool值, 允许ftpd写, -P选项表示写入配置文件并永久生效)

4、重启服务
# service vsftpd restart

5、客户端连接测试
(1) 客户端匿名用户可从pub下载文件
(2) 客户端匿名用户上传文件至homework, 上传文件的默认权限属性为600(配置文件中anon_umask=077),无法下载、删除或覆盖的。

七、配置虚拟用户访问
1、建立虚拟用户口令库文件, 文件中奇数行设置虚拟用户的用户名,偶数行设置用户的口令。
# vi /etc/vsftpd/vuser.txt
teacher      (奇数行设置虚拟用户名)
123456      (偶数行设置用户口令)
student
123456

2、生成vsftpd 的认证文件
# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db   (生成认证文件)
# file  /etc/vsftpd/vuser.db         (查看文件类型)
/etc/vsftpd/vuser.db:Berkeley DB (Hash,version  8 , native byte-order)
# chmod 600 /etc/vsftpd/vuser.db     (生成的认证文件的权限应设置为只对root用户可读可写)

3、建立虚拟用户所需的PAM配置文件
# vi /etc/pam.d/vsftpd
 

复制代码代码如下:
auth    required        /lib/security/pam_userdb.so     db=/etc/vsftpd/vuser    (注:无须后缀.db)
account required        /lib/security/pam_userdb.so     db=/etc/vsftpd/vuser

4、建立vsftpd虚拟用户所需的系统用户账号并设置相应的权限, 所有虚拟用户账号登录后都将在/var/ftp目录
 

复制代码代码如下:
# useradd -s /sbin/nologin -d /var/ftp/ vuser
# chmod u-w /var/ftp/

5、设置vsftpd.conf主配置文件
# vi /etc/vsftpd/vsftpd.conf
 

复制代码代码如下:

local_enable=YES
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd (vsftpd意指:/etc/pam.d/目录下的vsftpd文件)

(以下为可选项)
local_umask=022         (虚拟用户上传文件的掩码)
anon_umask=077          (匿名用户上传文件的掩码)
chown_uploads=YES       (允许改变上传文件的属主)
chown_username=vuser    (改变上传文件的属主为vuser)

6、重启vsftpd服务
# service vsftpd restart

7、测试vsftpd中的虚拟用户账号teacher
#ftp 127.0.0.1
name (localhost:root):teacher
password:
ftp>

8、对不同的虚拟用户设置不同的权限
(1).设置主配置文件
# mkdir /etc/vsftpd/vuser_conf          (建立用户配置文件的保存目录)
# vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vuser_conf  (设置用户配置文件的保存目录)

(2). 为虚拟用户建立单独的配置文件,配置文件名称和用户名相同。用户配置文件中没有的配置项将按照vsftpd.conf配置文件中的内容设置。
# vi /etc/vsftpd/vuser_conf/teacher
 

复制代码代码如下:
anon_world_readable_only=NO   (表示用户可以浏览FTP目录和下载文件)
anon_upload_enable=YES        (表示用户可以上传文件)
anon_mkdir_write_enable=YES   (表示用户具有建立和删除目录的权利)
anon_other_write_enable=YES   (表示用户具有文件改名和删除文件的权限)

(3) 重启服务
# service vsftpd restart

八、配置并启动防火墙
1、设置被动模式及使用的端口号
# vi /etc/vsftpd/vsftpd.con
 

复制代码代码如下:
pasv_enable=YES
pasv_min_port=65300
pasv_max_port=65360

2、添加允许的端口
 

复制代码代码如下:
# iptables -I INPUT -p tcp --dport 21 -j ACCEPT
# iptables -I INPUT -p tcp --dport 65300:65360 -j ACCEPT
# service iptables save     (保存配置)

3、重启服务
 

复制代码代码如下:
# service vsftpd restart
# service iptables start

九、常见错误及解决方法
1、vsftpd: refusing to run with writable root inside chroot()
-> 原因:vsftpd升级了安全性验证, 即如果开启了chroot来控制用户路径,则用户不能再具有根目录的写权限。
-> 解决:# chmod u-w /var/ftp/

2、cannot change directory:/var/ftp
-> 原因:SELinux阻止访问
-> 解决:
# setsebool -P ftpd_disable_trans 1
# service vsftpd restart

3、上传文件的中文文件名乱码
-> 原因:字符集问题
-> 解决:
(1) # vi /etc/sysconfig/i18n
LANG="zh_CN.GB18030"
(2) 客户端软件设置字体为中文字体,连接字符集为GBxxx或cp936

4、提示只允许匿名用户登录
-> 解决:在vsftpd.conf中设置
local_enable=YES

[笔记]------vsftpd配置教程

转自:我见过最好的vsftpd配置教程 环境:CentOS5.0操作系统一.安装:1.安装Vsftpd服务相关部件:[[email protected]~]#yuminstallvsftpd*DependenciesResolved========================================================================== 查看详情

vsftpd配置教程

环境:CentOS5.0操作系统一.安装:1.安装Vsftpd服务相关部件:[[email protected]~]#yuminstallvsftpd*DependenciesResolved=============================================================================Package  &nb 查看详情

vsftpd详细配置

Vsftpd详细配置        目  录     1、配置文件     2、给匿名用户的配置     3、系统用户配置      查看详情

nvm安装和配置详细教程

最新的安装教程在这里 http://www.cnblogs.com/yesyes/p/7403184.html,更简单以下此教程已过时nvm是nodejs的版本管理工具,为什么要用nvm,你能百度到这篇文章相比是遇到不得不用的原因了,我们知道nodejs官方更新的速度非常快,有时... 查看详情

vsftpd详细配置

vsftpd配置文件详解1.默认配置:1>允许匿名用户和本地用户登陆。anonymous_enable=YESlocal_enable=YES2>匿名用户使用的登陆名为ftp或anonymous,口令为空;匿名用户不能离开匿名用户家目录/var/ftp,且只能下载不能上传。3>本地用户的... 查看详情

maven安装与配置——详细教程

一、安装Maven进入Maven官网,下载安装包(https://maven.apache.org/download.cgi)、  2.下载完成后,解压到某一路径下。本文以C:\\Soft\\Java\\apache-maven-3.8.4为例,实际配置环境变量时以自己安装的路径为准。   二、配置环境变量... 查看详情

linux安装配置vsftp搭建ftp的详细配置(代码片段)

修改配置文件配置文件/etc/vsftpd/vsftpd.conf复制代码复制代码anonymous_enable=NO#不允许匿名访问,禁用匿名登录chroot_local_user=YES#启用限定用户在其主目录下use_localtime=YES#使用本地时(自行添加)chroot_list_enable=YESlocal_enable&... 查看详情

dbeavercommunity下载安装配置教程(超详细哟)

目录资源下载安装应用程序软件设置和使用资源下载DBeaver——一款免费的数据库连接软件1.免费下载网址:https://dbeaver.io/download/2.选择系统:windows/Mac/Linux,本人是Windows系统,选择“windows(installer)”点击安装。 查看详情

dbeavercommunity下载安装配置教程(超详细哟)

目录资源下载安装应用程序软件设置和使用资源下载DBeaver——一款免费的数据库连接软件1.免费下载网址:https://dbeaver.io/download/2.选择系统:windows/Mac/Linux,本人是Windows系统,选择“windows(installer)”点击安装。 查看详情

dbeavercommunity下载安装配置教程(超详细哟)

目录资源下载安装应用程序软件设置和使用资源下载DBeaver——一款免费的数据库连接软件1.免费下载网址:https://dbeaver.io/download/2.选择系统:windows/Mac/Linux,本人是Windows系统,选择“windows(installer)”点击安装。 查看详情

mysql5.7详细下载安装配置教程(代码片段)

以下MySQL5.7.27详细下载安装配置教程【很早之前也记录过一篇MySQL8.0的安装配置过程,如果是8.0可参考下面的另一篇文章】MySQL的下载安装与Navicat配置(超详细)_乞力马扎罗の黎明的博客-CSDN博客_navicat配置mysql一、前... 查看详情

mysql安装配置教程(超级详细)

...载地址:MySQL::DownloadMySQLInstaller(ArchivedVersions)1.选择要安装的版本,本篇文章选择的是5.7.31版本,点击Download下载正在上传…重新上传取消二、安装MySQL1.选择设置类型双击运行mysql-installer-community-5.7.31.0.msi这 查看详情

nvm安装和配置详细教程

...非常快,有时候业务需要需要用某某版本,如果用的是msi安装,虽然安装的时候挺简单,但是后面就麻烦了,这里是我倒腾了一天总结下来的教程,只要按照这个去配置,绝对没有问题,大家不要嫌麻烦,学会了以后能省去很过... 查看详情

centos7安装配置gitlab详细教程

一、安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知),wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问。1.安装sshsudoyuminstall-ycurlpolicycoreutils-pythonopenssh-server 2.将SSH服务... 查看详情

centos安装和配置mariadb详细教程(代码片段)

1.安装mariadatabase Centos8上,默认安装的mariadb服务器版本为:MariaDBCommunityServer10.3dnfinstallmariadb-server 命令进行安装就可以了。dnfinstallmariadb-server2.启动mariadatabase   安装成功以后,需要手动启动mariadatabases 查看详情

nvjdc安装详细教程。(代码片段)

...享,仓库地址https://github.com/NolanHzy/nvjdc开始进入主题.安装nvjdc1.安装解压程序(已安装的略过)yuminstallwgetunzip-y2.创建一个目录放配置chromium资源mkdirnolanjdc&&cdnolanjdc3.下载config.json配置文件并且修改自己的配置不能缺少( 查看详情

centos7搭建ftp详细配置步骤方法

vsftpd的安裝使用:ftp概述:FTP(FileTransferprotocol,文件传输协议)是经典的C/S架构的应用层协议,需要有服务端软件,客户端软件两个部共同组成实现文件传输功能。主程序包:/usr/sbin/vsftpd服务名:vsftpd用户控制列表文件: /etc/vs... 查看详情

64位powerdesigner16.7详细安装教程(安装破解常用配置)(代码片段)

文章目录前言一、PowerDesigner安装二、PowerDesigner破解三、PowerDesigner常用配置1.显示Comment注释结尾前言安装前期准备工作(下载地址):64位PowerDesigner16.7:安装文件pdflm16.dll:破解文件一、PowerDesigner安装二、Powe... 查看详情