VSFTP


vsftp


@.主动模式下和被动模式的区别

一 何为主动模式,何为被动模式

1、ftp采用两个端口控制:

A 20端口用于数据传输.

B 21端口用于控制,或指建立TCP连接.

2、主动方式连接过程:

[注意]:C表示客户端 S表示服务器端

A、 S端要开启20、21端口;

B、 C端一个随机端口连接S端21,这个随机范围1024-65536,同时发送命令port+x,指明数据端口C(X)->S(21);

C、 S端收到命令后,将返回一个ACK,S(21)->C(X);

D、 S端将用自己的20端口与C端的X+1端口相连,S(20)->C(X+1);

E、 C给S返回ACT,C(X+1)->S(20).

3、被动方式连接过程:

[注意]:C表示客户端 S表示服务器端

A、S服务器端要开启21端口和大于1024tcp端口;

B、C以一个随机端口X与S的21端口相连, 这个随机端口范围为1024~65535, 并发送命令 PASV. C(X) -> S(21)

C、S收到命令, 返回一个ACK, 并在其中指明一个新的高位端口y. S(21) -> C(x)

D、C发起 x+1端口到S的y的端口的连接.C(x+1) -> S(y)

E、S返回一个ACK. S(y) ->C(x+1)

二 用事例说明主动模式和被动模式的区别

1、VSFTP安装

yum install vsftpd -y

2、关闭iptables和selinux

具体安全设置,可根据情况而定。

3、主动模式的配置方法 

connect_from_port_20=YES#主动式连接使用的数据通道 

pasv_enable=NO#支持数据流的被动式连接模式 

4、被动模式的配置方法

  connect_from_port_20=NO#主动式连接使用的数据通道

pasv_enable=YES#支持数据流的被动式连接模式

  pasv_min_port=1024

  pasv_max_port=65536 

pasv_address (Default: (none - the address is taken from the incoming connected  socket) ) pasv模式中服务器传回的ip地址

 5、启动

chkconfig --level 2345 vsftpd on

/etc/init.d/vsftpd start

6、查看连接状态

其中S是服务端IP,C是客户端IP

被动模式

# netstat -an |grep C 

tcp        0      0 S:52160         C:16091          TIME_WAIT  

tcp        0      0 S:21            C:15354          TIME_WAIT  

tcp        0 434064 S:43407         C:16220          ESTABLISHED 

tcp        0      0 S:21            C:16090         ESTABLISHED 

主动模式

# netstat -an |grep C

tcp        0 268488 S:20            C:18434          ESTABLISHED 

tcp        0      0 S:21            C:18433          TIME_WAIT  

tcp        0      0 S:20            C:18426          TIME_WAIT  

tcp        0      0 S:21            C:18425          TIME_WAIT  

tcp        0      0 S:21            C:18418          TIME_WAIT  

tcp        0      0 S:20            C:18420          TIME_WAIT  

tcp        0      0 S:21            C:18369          TIME_WAIT  

tcp        0      0 S:20            C:18397          TIME_WAIT  

tcp        0      0 S:21            C:18387          ESTABLISHED

[注意:]

Vsftp主动模式和被动模式是可以共存的。二者的连接发起端不一样。

主动模式和被动模式的区别在于,主动模式下,ftp采用的是20端口传送数据,而被动模式下,ftp采用的是大于1024的随机端口。所以被动模式下,必要关闭防火墙!

********************************************************

二.测试在ftpusers/user_list里面添加用户是否可以登录ftp

ftpusers文件:此文件列出的用户将禁止登陆vsftp服务器,不管该用户是否在user_list文件中出现。默认已包括root,bin,daemon等用于系统运行的特殊用户。

User_list文件:此文件中包含的用户可能被禁止登录,也可能被允许登录,具体取决于主配置文件vsftpd.conf中的设置。当存在userlist_enable=YES的配置项时,user_list列表文件方可能生效,若指定userlist_deny=YES,则禁止此列表中的用户,若指定userlist_deny=NO,则仅允许列表中的用户登录。

*******************************

三.实现用户登录环境为chroot环境

1.创建用户:

    useradd ha3

    echo ha | passwd --stdin ha3

2.修改配置文件 /etc/vsftpd/vsftpd.conf 

==============================

      chroot_local_user=YES

      chroot_list_enable=YES

      #(default follows)

      chroot_list_file=/etc/vsftpd/chroot_list

===============================

3.touch /etc/vsftpd/chroot_list

 /etc/init.d/vsftpd restart

4.测试:ftp 10.10.54.57

*****************************************

4.通过本地数据文件实现虚拟用户登录

5.vsftpd和mysql结合实现认证


###yum

*****************************************************************

1.创建一个分区8GB,挂载到/share目录下,拷贝centos6.4 文件到/share目录

(1)centos设置(poweroff状态)

-----------------------------------------

Settings->Storage->Controller:SAT...+(第二个+:添加硬盘)->Create new disk->Next->Next->Create

------------------------------------------

开机并加载centossvn checkout http://svn.ssr.com/repos/130003/stu/wangxq/

(2)分区并格式化

#fdisk /dev/sdb 

#n->p->1->[enter]->p->w

#partprobe(分区后重启)

#mkfs -t ext4 /dev/sdb1

(3)挂载

 mount /dev/sdb1 /share/

(4)拷贝文件

#mount /dev/cdrom /mnt/dvd/ 挂载原来的光盘

#cp -rf /mnt/dvd/* /share/ 一定要加-rf

**********************************************

2.创建本地yum仓库,获取方式为file:///

(1)创建本地配置文件

vim /etc/yum.repos.d/centos-media.repo

-------------------------

[yum-local]

name=local-yum

baseurl=file:///share/

gpgcheck=0

enable=1

-------------------------

#yum clean all --清除缓存

#yum list

*******************************************

3.创建ftp的yum仓库

(1)创建本地配置文件

  vim /etc/yum.repos.d/centos-ftp.repo

----------------------------------

[ftp-ha1]

name=ftp-ha1

baseurl=ftp://10.10.54.50/Package

gpgcheck=0

enable=1

----------------------------------

(2)安装vsftp,保障匿名可以访问,匿名根目录/share

   vim /etc/vsftpd/vsftpd.conf

========================

anonymous_enable=YES

anon_upload_enable=YES

anon_root=/share

========================

(3)创建软件仓库

安装createrepo包:rpm -ivh /share/Packages/createrepo-0.9.9-17.el6.noarch.rpm 

建立软件仓库:cd /share ###很重要

             createrepo -v -g repodata/repomd.xml  .

获取目录:createrepo -v -g /share/repodata/repomd.xml /share/Packages/

#yum clean all

#yum list

**********************************************************************

4.安装CentOS release 5.9 (Final)版本的linux,在cent5创建ftp的yum仓库 

(1)安装SSH:rpm -ivh openssh-server(ll |grep wrap)

     #缺少libwrap:一直找不到软件包,安装ftp_libwrapper即可。

    安装YUM: yum-3.2.22-40.el5.centos.noarch.rpm(ll | grep urlgra)

    #缺少urlgrabber:rpm -ivh python-urlgrabber-3.1.0-6.el5.noarch.rpm

(2)挂载mount /dev/cdrom /mnt/dvd/

 cp -rf /mnt/dvd/* /share/

  补充:创建一个YUM仓库,需要一个共享点,这里可以使用NFS,FTP,SAMBA来实现,安装VSFTP来做共享点

/mnt/dvd/CentOS:rpm -ivh vsftpd-2.0.5-28.el5.x86_64.rpm

(3)创建本地配置文件

vim  /etc/yum.repos.d/cen5-ftp.repo 

===========================svn checkout http://svn.ssr.com/repos/130003/stu/wangxq/

[ftp-he]

name=ftp-he

baseurl=ftp://10.10.54.53/CentOS

gpgcheck=0

enable=1

==========================

(4)安装vsftp,保障匿名可以访问,匿名根目录/share

   vim /etc/vsftpd/vsftpd.conf

========================

anonymous_enable=YES

anon_upload_enable=YES

anon_root=/share

========================

(5)重启服务

/etc/init.d/vsftpd restart

vim /etc/selinux/config 

SELINUX=disabled

(6)创建软件仓库

rpm -ivh /share/CentOS/createrepo-0.4.11-3.el5.noarch.rpm

建立软件仓库:cd /share ###很重要

             createrepo -v -g repodata/repomd.xml  .

获取目录:createrepo -v -g /share/repodata/repomd.xml /share/CentOS/

#yum clean all

#yum list

注:CEN6和CEN5软件包版本不通,不能共用软件源。

**********************************************

5./etc/fstab的用法和常用参数解释

 cat /etc/fstab 

# /etc/fstab

# Created by anaconda on Tue Dec 24 09:19:52 2013

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

UUID=665eb18c-5415-4f3b-a7aa-61bd35107604 /                       ext4    defaults        1 1

UUID=455399ee-282a-4d27-b692-28fc37097578 /boot                   ext4    defaults        1 2

UUID=05a07bac-6f63-4a77-adcd-bca553e46e6d /usr                    ext4    defaults        1 2

UUID=cf1eea07-321f-4a80-906a-62352788e1f1 swap                    swap    defaults        0 0

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/etc/fstab总共有六列,分别对应

fs_spec fs_file fs_type fs_options fs_dump fs_pass

第一列,设备文件名或该设备的标签(label);

第二列,挂载点,也就是在linux下访问该设备的入口(目录);

第三列,磁盘分区的文件系统类型;

第四列,文件系统参数,也就是自动挂载时需要加的参数,这里包含的内容很多

介绍借个常用的参数

参数         含义

async/sync

异步/同步 设置磁盘是否以异步方式运行,默认为async

auto/noauto

自动/非自动 当下达mout -a命令时,是否会被主动挂载,默认为auto

rw/ro

可读写/只读 让该分区可读写或者只是以只读的形式挂载

exec/noexec

可执行/不可执行 限制在此文件系统内是否可以进行执行的工作,如果纯粹用来存储数据的话,设置成moexec

user/nouser

允许/不允许用户挂载 是否允许用户使用mount命令来挂载,一般来说设置为nouser,为了安全考虑

suid/nosuid

是否有suid权限             表示该文件系统是否允许suid的存在

Usrquota       表示启动文件系统支持配额模式

grpquota 启动文件系统支持组配额模式

Defaults 默认参数:async,auto,rw,exec,nouser,suid

第五列,是否被dump(备份)

dump 是用来备份的命令,0表示不要备份,1表示每天做备份,2表示不定期进行备份。通常这个参数不是0就是1.

第六列,是否以fsck来检验分区

系统开机过程中,系统会默认以fsck检验我们的文件系统是否完整。不过有些特殊的文件系统,例如swap是不需要检验的。0表示不需要检验,1表示最早检验,2也表示检验,但是比1晚点。一般来说/设置为1,其他的如果想检验设置成2就好了。不想检验的话就设置成0


转载于:https://my.oschina.net/xiaoq6427/blog/194150

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值