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. oracle_18c新建用户用normal登陆失败

    工具介绍:win10系统,使用的是oracle18c. 首先说一下oracle18c的特性,在oracle18c创建用户要以c##开头,比如: --创建新用户create user c##test_u ...

  2. asp.net机制理解(Javaweb同理)

    1.页面运行先后顺序 先执行aspx中的代码,然后再合并到HTML中,最后一起送到浏览器执行,HTML是从上到下执行的,而HTML中的Windows.onload()最后执行.而由于aspx中的代码是 ...

  3. 四、latex字体字号设置

    latex的思想是格式与内容的分离,所以不建议在文中使用大量命令,而是定义一个新的命令

  4. select2 api参数中文文档

    select2 api参数的文档   具体参数可以参考一下: 参数 类型 描述 Width 字符串 控制 宽度 样式属性的Select2容器div minimumInputLength int 最小数 ...

  5. Kali密码攻击之——离线攻击工具

    在线密码攻击在渗透测试中很重要,但对于测试过程中得到的哈希,加密数据,又需要离线破解工具辅助解决 Creddump套件 kali下离线攻击工具中的Cache-dump,lsadump,pwdump,均 ...

  6. Django框架详细介绍---ORM---图书信息系统专题训练

    from django.db import models # Create your models here. # 书 class Book(models.Model): title = models ...

  7. The All-purpose Zero (最长公共子序列)

    题意:求最长公共子序列,但是有个辅助条件,那就是如果那个值为0,那么他可以更换为任意值. 思路:假设现在只剩下没有0的序列是不是就很好求了?那么我们的想法就是看有没有办法将0往最左端或者最有端移动,显 ...

  8. [Luogu]A%BProblem——线性筛素数与前缀和

    题目描述 题目背景 题目名称是吸引你点进来的[你怎么知道的] 实际上该题还是很水的[有种不祥的预感..] 题目描述 区间质数个数 输入输出格式 输入格式: 一行两个整数 询问次数n,范围m接下来n行, ...

  9. 20190404用户及用户组管理(week1_day4)

    useradd userdel usermod groupadd groupdel 用户管理 为什么需要有用户? 1. linux是一个多用户系统 2. 权限管理(权限最小化) 用户:存在的目录是为了 ...

  10. js 计算后样式封装

    function getStyle(obj,attr){ // 需要获取的元素 属性 if(obj.currentStyle){ return obj.currentStyle[attr]; }els ...