配置FTP服务(二):vsftpd部署和优化

前面一篇文章介绍了pureftp部署和优化:http://1015489314.blog.51cto.com/8637744/1694166

下面我们接着来做CentOS自带的FTP软件vsftpd的部署和优化实验。

1、安装启动vsftpd

[[email protected] ~]# yum install -y vsftpd

[[email protected] ~]# /etc/init.d/vsftpd start

注:我们会发现启动失败,因为之前我们安装了pure-ftpd,被其占用了21端口,我们只要杀死所有的pure-ftpd进程就行,执行命令:killall pure-ftpd

2、建立账号

vsftpd默认可以支持使用系统账号登入的,客户端不止可以登入家目录,也可以登入其他的目录,这样是什么不安全,故我们也要和pure-ftpd一样建立关联系统用户的虚拟账户。

首先建立与虚拟账号相关联的系统账号:virftp

[[email protected] ~]# useradd virftp -s /sbin/nologin

接着建立存放虚拟账号密码的文件:

[[email protected] ~]# vim /etc/vsftpd/vsftpd_login      //写入如下内容

test1

123456

test2

abcdef

修改权限,只限于root用户:

[[email protected] ~]# chmod 600 /etc/vsftpd/vsftpd_login

vsftpd使用的密码不是明文,需要生成对应的库文件:

[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

最后建立与虚拟账号相关的目录

[[email protected] ~]# mkdir /etc/vsftpd/vsftpd_user_conf

3、创建与用户对应的配置文件

用户的配置文件是单独存在,每个用户都建立与账号同名的配置文件。

[[email protected] ~]# cd /etc/vsftpd/vsftpd_user_conf/

[[email protected] vsftpd_user_conf]# vim test1          //写入以下内容

local_root=/home/virftp/test1

anonymous_enable=NO

write_enable=YES

local_umask=022

anon_upload_enable=NO

anon_mkdir_write_enable=NO

idle_session_timeout=600

data_connection_timeout=120

max_clients=10

max_per_ip=5

local_max_rate=50000

注意:local_root 为该账号的家目录,anonymous_enable 用来限制是否允许匿名账号登陆,若为 NO 表示不允许匿名账号登陆,write_enable=YES 表示可写,local_umask 指定 umask 值,anon_upload_enable 是否允许匿名账号上传文件,anon_mkdir_write_enable 是否允许匿名账号可写。

接着创建test1用户的家目录

[[email protected] vsftpd_user_conf]# mkdir /home/virftp/test1

[[email protected] vsftpd_user_conf]# chown -R virftp:virftp /home/virftp

[[email protected] vsftpd_user_conf]# vim /etc/pam.d/vsftpd        //在最开头添加两行

auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

如下图:

注意:我的是32位系统,所以库文件路径为/lib/security/pam_userdb.so,若你的系统为64,那你的库文件是在/lib64/security/pam_userdb.so。

4、修改全局配置文件  

[[email protected] vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf    //修改下面几项

anonymous_enable=YES 改为 anonymous_enable=NO

#anon_upload_enable=YES 改为 anon_upload_enable=NO

#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO

#chroot_local_user=YES 改为 chroot_local_user=YES

在最后面增加:

guest_enable=YES

guest_username=virftp

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftpd_user_conf

最后启动 vsftpd 服务

[[email protected] vsftpd_user_conf]# /etc/init.d/vsftpd start

为 vsftpd 启动 vsftpd:                 [确定]

注意:如果服务启动不了,注意每行后面不要有空格;还有就是很有可能21端口被其他服务占用。

[[email protected] vsftpd_user_conf]# netstat -lnp |grep ":21"

不管是pure-ftpd还是vsftpd占用着,都一律杀死,释放出21端口,然后再启动vsftpd服务。

5、测试

测试过程和前面pure-ftpd 的一样。另外,如果用户登录不了,请查看一下/var/log/secure 日志。

时间: 2024-10-08 17:20:54

配置FTP服务(二):vsftpd部署和优化的相关文章

RedHat 7配置FTP服务

在RedHat 7上安装配置FTP服务和RedHat6基本一致,本文是以系统盘自带的vsftpd配置FTP服务. 首先使用yum安装vsftpd:yum install vsftpd 创建两个目录,/data/ftpshare配置需登录服务且可读写,/data/ftppublic配置匿名登录但只读 编辑配置文件:vi /etc/vsftpd/vsftpd.conf,在末尾添加以下内容,指定默认的根目录以及匿名登录目录: 启动服务并设置服务开机运行 root登录FTP并创建文件夹,测试可读写 创建

2015-05-21 配置FTP服务

配置FTP服务 安装pure-ftpd 1. 下载软件 pure-ftpd 官网是 http://www.pureftpd.org/project/pure-ftpd 当前最新版本为1.0.36, 但阿铭不建议使用最新版本,最新版有可能有一些小bug. [[email protected] ~]# cd /usr/local/src/ [[email protected] src]# wget http://download.pureftpd.org/pub/pure-ftpd/releases

配置FTP服务(一):pureftp部署和优化

FTP :File Transfer Protocol(文件传输协议),用于Internet上的控制文件的双向传输.主要是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去. 本文介绍一款FTP服务软件--pure-ftpd. 1.下载安装pure-ftpd [[email protected] ~]# cd /usr/local/src/ [[email protected] s

讲述一下自己在linux中配置ftp服务的经历

本人大二小白一名,从大一下学期就开始接触到linux,当时看到学校每次让我们下载资源都在一个ftp服务器中,感觉特别的高大上,所以自己就想什么时候自己能够拥有自己的ftp服务器,自己放一点东西进去,让别人访问. 那么,就从那时开始,就有了一系列的艰难旅程.... 要不然先不说经历了,就先直捅技术吧,最后在说经历,要不然有些人就懒得看这篇初级又傻傻的文章了. 小白,那就需要手把手的教,同时还要图文并茂. 第一步: 自己的linux必须是要有的,如果没有,而且你还不会装,那么就可以看一下小弟我以前的

Linux系统安装及配置ftp服务

1. 先用rpm -qa| grep vsftpd命令检查是否已经安装,如果ftp没有安装,使用yum  -y  install vsftpd 安装,(ubuntu 下使用apt-get install vsftpd) 2. service vsftpd start / service vsftpd restart 启动要让FTP每次开机自动启动,运行命令:  chkconfig --level 35 vsftpd on 3. 设置ftp权限 vi  /etc/vsftpd/vsftpd.con

配置ftp服务

1 用getenforce查看,如果是Enforcing,应该修改/etc/sysconfig/selinux文件. SELINUX=disabled 然后重启 --------------------------------------------------- 2 安装ftp.lftp.设置防火墙 yum install vsftpd.x86_64  -y systemctl start vsftpd systemctl enable vsftpd yum install lftp -y f

CentOS系统下安装配置ftp服务

安装配置步骤: rpm -ivh /opt/bak/vsftpd-2.2.2-11.el6.x86_64.rpm --本地安装vsftpd ll /etc/vsftpd/  --查看vsftpd的配置文件 里面一共有四个配置文件: vsftpd.conf 为主配置文件, ftpusers为黑名单用户配置文件,通常我们的系统用户还有根用户都是放在这个配置文件里面的,因为这些用户的权限很大,如果使用ftp服务可能造成一些问题, user_list为用户列表文件(可以通过在配置文件vsftpd.con

三、配置FTP服务

1. 需要准备出vsftpd服务组件 apt-get install vsftpd 2. 完成之后,会自动为系统创建一个ftp用户,修改ftp用户密码(123456) passwd ftp 3. 当ftp服务安装完成之后会自动创建一个目录:/srv/ftp cd /srv/ftp 4. 将这个目录设置为完全控制权限 chmod 777 /srv/ftp 5. 进行相关配置文件修改"/etc/vsftpd.conf" i.使用vim打开此文件 vim /etc/vsftpd.conf i

详解FTP服务之vsftpd(附三种用户安装脚本)

FTP(File Transfer Protocol,文件传输协议)可以在网络中传输文档.图像.视频以及应用程序等多种类型的文件.在企业中大多数情况下,则是用户使用FTP从服务器上下载文件.一个完整的FTP文件传输需要建立两种类型的连接,一种为控制文件传输的命令,称为控制连接:另一种实现真正的文件传输,称为数据连接控制连接:客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器TCP协议的21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就