菜单

vsftp搭建

2018年11月20日 - LINUX

FTP全名是File Transfer Protocol(文件传输协议) C/S架构

//安装准备工作

简介:

1、用root 进入系统

下面是关于FTP这个服务之性

2、使用命令 rpm  -qa|grep vsftpd
查看系统是否安装了ftp,若安装了vsftp,使用这命令会在屏幕上显得vsftpd的版本 

(1)FTP服务相关软件

3、使用命令rpm -e vsftpd 即可卸载ftp

   IIS Serv-U Vsftpd proftpd pureftpd

4、再下rpm  -qa|grep vsftpd
查看系统是否都去ftp,若删除成功,屏幕及亮vsftpd的本子

(2)FTP客户端相关软件

//安装vsftp

   ftp命令 CuteFTP FlashFTP LeapFTP Filezilla gftp kuftp

查看是否已装vsftpd
rpm -qa | grep vsftpd

(3)VSFTP的看护进程

假设没有,就设置,并设置开机启动
yum -y install vsftpd
chkconfig vsftpd on

   /usr/sbin/vsftpd

管理vsftpd相关命令:

(4)FTP的起步脚本

启动vsftpd:  service vsftpd
start

   /etc/init.d/vsftpd

停止vsftpd:  service vsftpd
stop

(5)FTP的端口

重启vsftpd:  service vsftpd
restart

   TCP协议的20,21端口与客户端进行通信

//配置vsftp

      20用以建数量连接,传输文件数量。(数据端口)

1.默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以据此文本编辑器打开。
vi /etc/vsftpd/vsftpd.conf

      21用以建控制连接,并传导FTP控制命令。(命令端口)

2.添加ftp用户

 (6)用户控制列表文件

下是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止这个用户登录SSH的权限,并限定其访问其它目录。
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

/etc/vsftpd/ ftpusers  文件被的用户禁止登录FTP服务器(黑名单)

改为
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

/etc/vsftpd/ user_list
文件中之用户可能于明令禁止或允许登录FTP服务器,具体看vsftpd.conf的安装

3.增用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser

(7)工作模式

4.安用户口令
passwd ftpuser

      主动模式:

5、编辑文件chroot_list:
vi /etc/vsftpd/chroot_list

          
客户端想服务端21端口发送建立连接要,需要传输数据时,客户端会通过port命令告诉服务器自己监听的端口,服务器会主动通过20端口和客户端起数量连接。

情为ftp用户称,每个用户占用一行,如:

 

peter
john

     

6、重新启航vsftpd
service vsftpd restart

     被动模式

发表进ftp可能只能下载文件未克上传文件要

          
客户端想服务端21端口发送建立连接要,需要传输数据时,

Chmod 755 网站文件目录

服务器因为pasv命令语客户本身打开了某端口(非20端口),你来连续我,客户端会像服务器的非20端口建立数量连接

  

 (8)根据传输文件是否进行字符转换分为:

    文件模式(又曰ASCII)以文件序列传输数据,用的较多

    其次进制模式(又称之为Binary模式)以第二上前制序列传输数据

 

 

预示配置文件

/etc/vsftpd/vsftpd.conf

 

 

 

搭建FTP服务:

  1、搭建yum仓库

   (1)mount /dev/cdrom /mnt

   (2)cat /etc/yum.repos.d/rhel-debuginfo.repo

   [rhel-Server]

   name=Red Hat Enterprise Server

   baseurl=file:///mnt/Server

   enabled=1

   gpgcheck=0

  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

   2、安装

      yum -y install vsftpd*

 

部署选讲解

实验1

  1. 1.  创测试文件
  2. 2.  匿名用户ftp对/var/ftp/pub有描绘副权限
  3. 3.  允许匿名用户浏览
  4. 4.  同意用户(匿名,本地,虚拟)有高达污染权限
  5. 5.  兴匿名用户发生上传权限
  6. 6.  许匿名用户有上传文书夹权限
  7. 7.  明令禁止匿名用户发剔,覆盖等权力

 

(1)查看ftp的默认根路径,默认是发生一个pub目录(默认的及目录),

    [root@Centos2 ~]# ls /var/ftp/

   pub

(2)备份配置文件

cd /etc/vsftpd/vsftpd.confg

   cp vsftpd.conf vsftpd.bak

   vim vsftpd.conf

   情如下

write_enable=YES

anon_umask=022

anonymous_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=NO
是否同意匿名用户发其它写入权(改名,删除,覆盖)

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

(3)启动服务

   service vsftpd start

(4)改变穷目录的属主,如果不改吧,只能看,其他权限不可知立竿见影。因为我们是以ftp用户之身份访问的,而pub默认的属主属组是root。

   chown ftp /var/ftp/pub

 

验证:

   在网或者计算中输入ftp地址:格式如下图。

   咱们见面盼默认的pub目录。

 图片 1

 

入到pub目录下,可以创造及上传测试目录了。如图2

图片 2

留神:(1)修改了配置之后用更开完服务才会见效

     
(2)还待打新打客户端登陆,否则修改后的部署看不到效果。

 

实验2

  1.   创立测试帐号u1、u2、u3密码都也“user”
  2.  允许本地用户访问
  3.  将权限掩码设为077
  4.   以本地帐号禁锢在宿主目录中
  5.   偏偏允许u1、u2个别个用户可登录

 

创立测试用户,并且安装密码

[root@crushlinux ~]# useradd u1

[root@crushlinux ~]# echo “user” |passwd –stdin u1

[root@crushlinux ~]# useradd u2

[root@crushlinux ~]# echo “user” |passwd –stdin u2

[root@crushlinux ~]# useradd u3

[root@crushlinux ~]# echo “user” |passwd –stdin u3

 

每当部署文件被参加红色部分情节

[root@crushlinux ~]# vi /etc/vsftpd/vsftpd.conf

 

local_enable=YES

local_umask=077

chroot_local_user=YES

write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

userlist_deny=NO

tcp_wrappers=YES

 

 

 

将许登陆的用户进入到白名单中

 

vi /etc/vsftpd/user_list

u1

u2

 

service vsftpd restart

 

登陆验证

   格式为:ftp://用户名:密码@ftpIP地址

 图片 3

 

登陆上默认是空手的,因为这是用户的寒目录。

 

就此u3用户登陆,会报错误(windows不同系统报错不会见完全一致):

 图片 4

 

实验3

构建基于虚拟用户的FTP服务

缔造账号数据

   1.树虚拟FTP用户的帐号数据库文件

   2.创办FTP根目录和虚拟用户映射的系用户

   3.成立支持虚拟用户的PAM认证文件

补充加虚拟用户支持

   4.当vsftpd.conf文件中加上支持配置

   5.乎各自虚拟用户建独立的配备文件

起步服务并测试

   6.重新加载vsftpd配置

   7.采用虚拟FTP账户访问测试

 

试部分

1.确立虚拟FTP用户的帐号数据库文件用到db_load工具先安装软件包

   rpm -ivh db4-utils-4.7.25-17.el6.x86_64.rpm

   cd /etc/vsftpd/

2、创建虚拟用户文件

   vim user

   a

   1

   b

   1

   c

   1

  

   基数行代表用户称,偶数行代表密码

 

通过db_load工具创建出Berkeley DB格式的数据库文件

  

   db_load -T -t hash -f user user.db

  

 

    -f 指定数量原文件

   -T 允许非Berkeley DB的应用程序使用文本格式转换的DB数据文件

   -t hash  读取文件之中坚方式

3、创建虚拟用户对应的系统用户

   useradd -s /sbin/nologin vu

4、建立支持虚拟用户的PAM认证文件

vi /etc/pam.d/vsftpd.vu

投入以下简单实践

auth       required     /lib64/security/pam_userdb.so
db=/etc/vsftpd/user

account    required     /lib64/security/pam_userdb.so
db=/etc/vsftpd/user

针对许刚才生成user.db的文件

5、在vsftpd的布文件被支持虚拟用户

小心:在做虚拟用户的时候,一定要是去丢userlist_deny=NO

夫选项,否则会来得用户征失败

vi /etc/vsftpd/vsftpd.conf

guest_enable=YES            启用用户映射功能

guest_username=vu     指定映射的系用户称

pam_service_name=vsftpd.vu   指定新的PAM认证文件

local_enable=YES

local_umask=077

chroot_local_user=YES 
苟红色3修配置没有的语就会见报错:用户身份验证失败

 

virtual_use_local_privs=YES

一旦没应声漫漫配置的讲话上传将见面来得错误.这长达极其重大

还要注意每行配值的末段不要生空行,否则也会起报错

 

 

 

6.乎独家虚拟用户建独立的布文件

vi /etc/vsftpd/vsftpd.conf   加入下面一行

user_config_dir=/etc/vsftpd/user_dir 
用户配置目录支持

呢用户a、b建立独立的布局目录和文件 即等同执行也是得有

 

 mkdir /etc/vsftpd/user_dir

cd /etc/vsftpd/user_dir

vim a

local_root=/test  
规定了a用户之根目录 
小心:一定要是管目录的属主改为虚拟用户对应的系统用户。

 

mkdir /test

 

默认就是装有权力

 

 

总:本地用户和虚拟用户不能够而且登录、因为证实方法单出同种

本地是pam_service_name
=vsftpd

虚拟是pam_service_name
=vsftpd.vu 

 

实验4

1    修改vsftpd服务的监听地址,端口

       1.1  IP为:192.168.200.129

        1.2  端口为:2121

2    应用vsftpd服务的被动模式

     2.1  下限端口为24500

     2.2  上限端口为24600

3    限制vsftpd服务的连发数,传输速度

      3.1  限定并作客户连接最多200

      3.2  限每个IP地址的连接数最多50

      3.3  界定匿名用户传输速率为50KB/s

      3.4  限制本地用户传输速率为200KB/s

[root@crushlinux ~]# netstat -naptu |grep “vsftpd”

[root@crushlinux ~]# vi /etc/vsftpd/vsftpd.conf

listen=YES

listen_address=192.168.200.129

listen_port=2121

 

pasv_enable=YES

pasv_min_port=24500

pasv_max_port=24600

 

max_clients=200

max_per_ip=50

anon_max_rate=50000

local_max_rate=200000

 

[root@crushlinux ~]# service vsftpd restart

[root@crushlinux ~]# netstat -naptu |grep “vsftpd”

tcp        0      0 192.168.200.129:2121       
0.0.0.0:*                   LISTEN      3552/vsftpd   

 

 

相关文章

标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图