1.安装程序包

[root@node1 ~]$ yum install -y vsftpd
[root@node1 ~]$ yum install -y lftp # 安装测试软件

2.启动vsftpd服务

[root@node1 ~]$ setenforce 0                       #关闭selinux
setenforce: SELinux is disabled                     
[root@node1 ~]$ service iptables stop                  #关闭防火墙  
[root@node1 ~]$ service vsftpd start                  # 启动服务
为 vsftpd 启动 vsftpd: [确定]
[root@node1 ~]$ service vsftpd status
vsftpd (pid ) 正在运行...

 [root@node1 ~]$ ss -tnl | grep 21                    #默认监听21号端口 
  LISTEN 0 32 *:21 *:*

3.访问vsftpd服务器,在本机或者其他主机,在其他主机上测试,需要先确认两台主机能进行网络通信ping

在linux上访问测试

[root@localhost ~]#lftp 172.16.55.6
lftp 172.16.55.6:~> ls
drwxr-xr-x May pub
lftp 172.16.55.6:/>

windows上访问测试

C:\Users\Vathe>ftp 172.16.55.6                 #连接
Connected to 172.16.55.6.      
(vsFTPd 2.2.)
Always in UTF8 mode.
User (172.16.55.6:(none)): ftp              #输入用户名
Please specify the password.
Password:                          #密码为空
Login successful.
ftp> ls                           #显示文件 
PORT command successful. Consider using PASV.
Here comes the directory listing.
pub
Directory send OK.
ftp: bytes received in .00Seconds .00Kbytes/sec.
ftp> pwd                           #显示当前目录
"/"
ftp> cd pub
Directory successfully changed.

4.创建本地用户admin

[root@node1 vsftpd]$ useradd admin
[root@node1 vsftpd]$ echo "admin" | passwd --stdin admin
更改用户 admin 的密码 。
passwd: 所有的身份验证令牌已经成功更新。

5.修改配置文件vsftpf.conf

[root@node1 vsftpd]$ cp vsftp.conf{,.bak}          #备份操作
[root@node1 vsftpd]$ vim vsftpd.conf
chroot_local_user=YES #禁锢所有本地用户至家目录
chroot_list_enable=YES #指定需要禁锢的本地用户
chroot_list_file=/etc/vsftpd/chroot_list #禁锢的用户文件 [root@node1 vsftpd]$ pwd
/etc/vsftpd
[root@node1 vsftpd]$ vim chroot_list #添加admin用户
admin
[root@node1 vsftpd]$ !ser #重启vsftpd服务
service vsftpd reload
关闭 vsftpd: [确定]
为 vsftpd 启动 vsftpd: [确定]

6.添加白名单

[root@node1 vsftpd]$ cd /etc/pam.d/
[root@node1 pam.d]$ vim vsftpd #修改pam的配置文件为白名单
auth required pam_listfile.so item=user sense=allow file=/etc/vsftpd/ftpusers onerr=succeed [root@node1 vsftpd]$ cp ftpusers{,.bak} #备份
[root@node1 vsftpd]$ vim ftpusers #修改白名单列表
# Users that are not allowed to login via ftp
admin
ftp

注:也可以使用vsftpd自身的配置文件/etc/vsftpd/user_list进行配置

测试登录用户

[root@localhost ~]#ftp 172.16.55.6                # 连接
Connected to 172.16.55.6 (172.16.55.6).
(vsFTPd 2.2.)
Name (172.16.55.6:root): ftp             # ftp用户登录成功
Please specify the password.
Password: # 不需要密码登录
Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> exit
Goodbye.
[root@localhost ~]#ftp 172.16.55.6
Connected to 172.16.55.6 (172.16.55.6).
(vsFTPd 2.2.)
Name (172.16.55.6:root): vathe # 其他用户(非白名单用户)登录
Please specify the password.
Password:
Login incorrect.                  
Login failed. # 登录失败
ftp>

vstfpd服务常见文件目录

[root@node1 ~]$ rpm -ql vsftpd                          #查看程序包相关文件
/etc/logrotate.d/vsftpd                   
/etc/pam.d/vsftpd
/etc/rc.d/init.d/vsftpd #主程序文件
/etc/vsftpd/ftpusers #pam模块默认的黑名单配置文件
/etc/vsftpd/user_list #黑名单或白名单配置文件
/etc/vsftpd/vsftpd.conf #主配置文件
...
/usr/share/doc/vsftpd-2.2./EXAMPLE/INTERNET_SITE #示例文档
2.2./EXAMPLE/INTERNET_SITE/vsftpd.xinetd
/usr/share/doc/vsftpd-2.2./EXAMPLE/INTERNET_SITE_NOINETD
/usr/share/doc/vsftpd-2.2./EXAMPLE/INTERNET_SITE_NOINETD/README
/usr/share/doc/vsftpd-2.2./EXAMPLE/INTERNET_SITE_NOINETD/README.configuration
/usr/share/doc/vsftpd-2.2./EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
/usr/share/doc/vsftpd-2.2./EXAMPLE/PER_IP_CONFIG/hosts.allow
/usr/share/doc/vsftpd-2.2./EXAMPLE/VIRTUAL_USERS/vsftpd.conf
/usr/share/doc/vsftpd-2.2./EXAMPLE/VIRTUAL_USERS_2
/usr/share/doc/vsftpd-2.2./EXAMPLE/VIRTUAL_USERS_2/README
/usr/share/doc/vsftpd-2.2./FAQ
...
/usr/share/man/man8/vsftpd..gz
/var/ftp #匿名用户共享资源路径
/var/ftp/pub

CentOS6上ftp服务器搭建实战的更多相关文章

  1. linux上FTP服务器搭建

    一.启动vsftpd服务 1. 启动VSFTP服务器 A. cenos下运行:yum install vsftpd B. 登录Linux主机后,运行命令:"service vsftpd st ...

  2. ftp服务器搭建(windows)+实现ftp图片上传对接

    ftp服务器搭建(windows): vsftpd简介: vsftpd是“very secure FTP daemon”的缩写,是一个完全免费的.开放源代码的ftp服务器软件. 下载地址: http: ...

  3. Linux之匿名FTP服务器搭建

    FTP(File Transfer Protocol)是在服务器与客户端进行文件传输的一种传输协议.本次介绍的是vsftpd的软件体验ftp服务. FTP服务器默认情况下依据用户登录情况分为三种不同的 ...

  4. FTP服务器搭建及操作(一)

    FTP服务器搭建及操作(一) FTP搭建 PHP FTP操作 搭建方法参照(windows):http://www.cnblogs.com/lidan/archive/2012/06/04/25351 ...

  5. 《Linux下FTP服务器搭建及FTP使用》

    .LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...

  6. ftp服务器搭建及简单操作

    ftp服务器搭建及简单操作 1. 添加一个新用户,使用名useradd testftp,然后使用passwd testftp对新添加的用户设置密码(这里设置为“1234567”). 2. 安装ftp服 ...

  7. FTP-Linux中ftp服务器搭建

    一.FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp ...

  8. (转)【Java FTP及FTP服务器搭建】

    转至 http://blog.csdn.net/studyvcmfc/article/details/8147052 目录(?)[+] -[Java FTP及FTP服务器搭建] 一:本文采用apach ...

  9. Linux 之 FTP服务器搭建

    FTP服务器搭建 参考教程:[千峰教育] 1.关闭防火墙: service iptables stop 2.关闭Selinux setenforce 0 3.安装所需要依赖及编译工具 yum inst ...

随机推荐

  1. Win7-IE11 For x86&x64离线安装包

    一.Internet Explorer11简体中文版离线安装包:       微软已停止了IE11以下版本(包括IE10/9/8)的技术支持.以后Win7用IE11的机会也越来越多,但IE11官方安装 ...

  2. SqlServer 行转列,列转行 以及PIVOT函数快速实现行转列,UNPIVOT实现列转行

     一   .列转行 创建所需的数据 CREATE TABLE [StudentScores]( [UserName] NVARCHAR(20), --学生姓名 [Subject] NVARCHAR(3 ...

  3. python基础之 while 逻辑运算符 格式化输出等

    1.while循环 while 条件: 循环体 while 条件: 循环体 else: 循环体 重点: 当条件为真的时候,就进入循环体,从上到下依次执行,执行完最后一条语句时,while并不是直接退出 ...

  4. 2019.04.13 python基础

    第一节    主要讲python背景  没什么要注意的  了解记住概念就好 python官网  python.org  自带shell  可以运行python代码 在IDLE中怎么运行代码 新建文本  ...

  5. Servlet Analysis

    @WebServlet("/cdiservlet") //url映射 public class NewServlet extends HttpServlet { private M ...

  6. PyQt5学习笔记

    setMouseTracking bool mouseTracking这个属性保存的是窗口部件跟踪鼠标是否生效.如果鼠标跟踪失效(默认),当鼠标被移动的时候只有在至少一个鼠标按键被按下时,这个窗口部件 ...

  7. python 减少可调用对象的参数个数

    有一个被其他python 代码使用的callable 对象,可能是一个回调函数或者是一个处理器,但是它的参数太多了,导致调用时出错 如果需要减少某个函数的参数个数, 你可以使用functools.pa ...

  8. write RE validation

    正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式通常被用来检索.替换那些符合某个模式(规则) ...

  9. element table 二次封装 父子组件传值 组件通信

    新建一个组件(即子组件)table.vue 子组件编辑内容如下图所示 子组件通过props获取父组件传递过来的参数,如下图所示,type指明传递到子组件的数据类型,default指定默认值,一般不给 ...

  10. laravel中empty(),is_null() 以及isEmpty()

    PHP中 empty() empty() 函数用于检查一个变量是否为空. if(empty($result->order)){ //操作 } is_null() is_null() 函数用于检测 ...