FTP实验报告

制作人:全心全意

准备工作:

linux1:192.168.100.4

关门防火墙、selinux机制

配置yum源

匿名访问

1.装置vsftpd服务和客户端

[root@localhost ~]# yum -y install vsftpd

2.创建FTP目录

[root@localhost ~]# mkdir /var/ftp/test{1..3}

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

pub  test1 test2  test3

3.FTP目录755权限,属主ftp

[root@localhost ~]# chown ftp /var/ftp/test1

[root@localhost ~]# chmod 755 /var/ftp/test1

4.布置匿名访问安排文件

[root@localhost ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

[root@localhost ~]# cat /etc/vsftpd/vsftpd.conf.bak | grep -v "^#" > /etc/vsftpd/vsftpd.conf

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

     1 #匿名用户

     2 anonymous_enable=YES

     3 anon_umask=022

     4 anon_root=/var/ftp

     5 anon_upload_enable=YES

     6 anon_mkdir_write_enable=YES

     7 anon_other_write_enable=YES

     8 anon_max_rate=0

     9 #本地用户

    10 local_enable=NO

    11 #全局配置

    12 listen=YES

    13 listen_address=192.168.100.4

    14 listen_port=21

    15 write_enable=YES

    16 download_enable=YES

    17 dirmessage_enable=YES

    18 xferlog_enable=YES

    19 xferlog_std_format=YES

    20 connect_from_port_20=YES

    21 pasv_enable=YES

    22 pasv_max_port=24600

    23 pasv_min_port=24500

    24 pam_service_name=vsftpd

    25 userlist_enable=YES

    26 userlist_deny=YES

    27 max_clients=0

    28 max_per_ip=0

    29 tcp_wrappers=YES

4.启动vsftpd服务

[root@localhost ~]#/etc/rc.d/init.d/vsftpd start

为vsftpd 启动vsftpd:                                    [确定]

5.测试匿名访问

[root@localhost ~]# ftp 192.168.100.4

Name (192.168.100.4:root):ftp

Password:

ftp> cd test1

ftp> mkdir 11

ftp> dir

drwxr-xr-x    2 14      50           4096 Aug 25 06:51 11

ftp> rename 11 22

ftp> dir

drwxr-xr-x    2 14      50           4096 Aug 25 06:51 22

ftp> rmdir 22

ftp> dir

ftp> exit

  

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

本地用户访问

1.改动为本地用户访问布署文件

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

     1 #匿名用户

     2 anonymous_enable=NO

     3 anon_umask=022

     4 anon_root=/var/ftp

     5 anon_upload_enable=YES

     6 anon_mkdir_write_enable=YES

     7 anon_other_write_enable=YES

     8 anon_max_rate=0

     9

    10 #本地用户

    11 local_enable=YES

    12 local_umask=077

    13 chroot_local_user=YES

    14

    15 #全局配置

    16listen=YES

    17 listen_address=192.168.100.4

    18 listen_port=21

    19 write_enable=YES

    20 download_enable=NO

    21 dirmessage_enable=YES

    22 xferlog_enable=YES

    23 xferlog_std_format=YES

    24 connect_from_port_20=YES

    25 pasv_enable=YES

    26 pasv_max_port=24600

    27 pasv_min_port=24500

    28 pam_service_name=vsftpd

    29 userlist_enable=YES

    30 userlist_deny=YES

    31 max_clients=0

    32 max_per_ip=0

    33 tcp_wrappers=YES

2.创办用户和密码

[root@localhost ~]# useradd kaixin -s /sbin/nologin

[root@localhost ~]# passwd kaixin

更改用户kaixin 的密码。

新的密码:

无效的密码:WAY 过短

无效的密码:过于简单

重新输入新的密码:

passwd:所有的身份验证令牌已经成功更新。

3.重启vsftpd服务

[root@localhost ~]# service vsftpd restart

关闭vsftpd:                                              [确定]

为vsftpd 启动vsftpd:                                    [确定]

4.测试

[root@localhost ~]# ftp 192.168.100.4

Name (192.168.100.4:root):kaixin

Password:

ftp> ls

ftp> mkdir 111

ftp> dir

drwx------    2 500     500          4096 Aug 25 09:45 111

ftp> put install.log.syslog

ftp> dir

drwx------    2 500     500          4096 Aug 25 09:45 111

-rw-------    1 500     500         10033 Aug 25 09:45install.log.syslog

ftp> exit

[root@localhost ~]# cd ~kaixin

[root@localhost kaixin]# ls

111  install.log.syslog

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

编造用户访问

1.安装db4-utils

[root@localhost ~]# yum -y install db4-utils

2.成立文本格式的用户名、密码列表

[root@localhost ~]# vi /etc/vsftpd/vusers.list

aaa

123

bbb

123

3.成立Berkeley DB格式的数据库文件

[root@localhost ~]# cd /etc/vsftpd/

[root@localhost vsftpd]#db_load -T -t hash -f vusers.list vusers.db

[root@localhost vsftpd]# file vusers.db

vusers.db: Berkeley DB (Hash,version 9, native byte-order)

[root@localhost vsftpd]# cd

(-f:指定数据源文件,-T:允许非伯克利DB的应用程序使用从文本格式转换的DB数据文件,-t
hash:指定读取数据文件的主题措施)


4.添加虚构用户的映照账号、创立FTP根目录

[root@localhost ~]# useradd -d /var/ftproot -s /sbin/nologin virtual

[root@localhost ~]# chmod 755 /var/ftproot/

5.为虚拟用户建立PAM认证文件

[root@localhost ~]# vi /etc/pam.d/vsftpd.vu

#%PAM-1.0

auth    required        pam_userdb.so   db=/etc/vsftpd/vusers

account required        pam_userdb.so   db=/etc/vsftpd/vusers

6.修改vsftpd配置,添加虚拟用户辅助,注释匿名访问权限

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

     1 #匿名用户

     2 anonymous_enable=NO

     3 anon_umask=022

     4 anon_root=/var/ftp

     5 #anon_upload_enable=YES

     6 #anon_mkdir_write_enable=YES

     7 #anon_other_write_enable=YES

     8 #anon_max_rate=0

     9

    10 #本地用户

    11 local_enable=YES

    12 local_umask=077

    13 chroot_local_user=YES

    14

    15 #全局配置

    16 listen=YES

    17 listen_address=192.168.100.4

    18 listen_port=21

    19 write_enable=YES

    20 download_enable=YES

    21 dirmessage_enable=YES

    22 xferlog_enable=YES

    23 xferlog_std_format=YES

    24 connect_from_port_20=YES

    25 pasv_enable=YES

    26 pasv_max_port=24600

    27 pasv_min_port=24500

    28 pam_service_name=vsftpd.vu

    29 userlist_enable=YES

    30 userlist_deny=YES

    31 max_clients=0

    32 max_per_ip=0

    33 tcp_wrappers=YES

    34

    35 #虚拟用户

    36 guest_enable=YES

    37 guest_username=virtual

7.为不一致的杜撰用户建立单独的布置文件

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

          38 user_config_dir=/etc/vsftpd/vusers_dir       //添加本行

[root@localhost ~]# mkdir /etc/vsftpd/vusers_dir

[root@localhost ~]# cd /etc/vsftpd/vusers_dir/

[root@localhost vusers_dir]#vi aaa

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

[root@localhost vusers_dir]#touch bbb

8.重载vsftpd服务

[root@localhost vusers_dir]#service vsftpd reload

关闭vsftpd:                                              [确定]

为vsftpd 启动vsftpd:                                    [确定]

9.测试

[root@localhost ~]# ftp 192.168.100.4

Name (192.168.100.4:root):aaa

Password:

ftp> mkdir 111

ftp> dir

drwxr-xr-x    2 501     501          4096 Aug 25 10:26 111

ftp> cd 111

ftp> put install.log.syslog

ftp> renameinstall.log.syslog  install.log

ftp> dir

-rw-r--r--    1 501     501         10033 Aug 25 10:27install.log

ftp> get install.log

10033 bytes received in3.2e-05 secs (313531.26 Kbytes/sec)

ftp> exit

221 Goodbye.

[root@localhost ~]# ftp192.168.100.4

Name (192.168.100.4:root):bbb

Password:

ftp> dir

drwxr-xr-x    2 501     501          4096 Aug 25 10:27 111

ftp> cd 111

ftp> dir

-rw-r--r--    1 501     501         10033 Aug 25 10:27install.log

ftp> put install.log

550 Permission denied.

ftp> rename install.log 22

550 Permission denied.

ftp> get install.log

10033 bytes received in5.2e-05 secs (192942.30 Kbytes/sec)

ftp> exit

221 Goodbye.

[root@localhost ~]# ftp 192.168.100.4

Name (192.168.100.4:root):kaixin

Password:

530 Login incorrect.

测试结果:

aaa:可登陆,能正常浏览,可上传、下载、修改文件

bbb:可登陆,能健康浏览,可下载,不可上传、修改文件

系统用户:不可登陆

                                  FTP文件传输服务

须求描述:

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

须求描述:
 采纳FTP虚拟用户的法门,添加四个用户:zhangsan、lisi、wangwu。
 用户访问及文件权限决定
 开放匿名访问,任何用户均可下载服务器/var/ftp/soft/目录中的软件资料。
 用户zhangsan可以对服务器的/var/ftp/soft/目录举行上传、删除等操作。
 用户lisi可以下载服务器/var/market/目录中的市场活动、销售方案的资料。
 用户wangwu可以对服务器/var/market/目录进行上传、删除等操作。

所有通过FTP上传的文本,均去除非属主位的写权限(即将权限掩码设为022)。
 对服务器中并未明了授权的别样目录,禁止其余用户访问。
 传输速率和产出连接控制
 最多允许150个冒出用户连接,每个IP并发连接数不领先5个。
 匿名用户及lisi用户的下载带宽限制为100KB/s。
 wangwu用户的下载、上传带宽限制为200KB/s。
具体步骤:

Ø 拔取FTP虚拟用户的点子,添加多个用户:zhangsan、lisi、wangwu。

简介:

  1. 插入光盘并挂载,然后安装vsftpd包。如图所示:
    澳门金沙国际 1

  2. vsftpd服务使用BerkeleyDB格式的数据库文件来存放虚拟用户账号。建立那种数据库文件需求用到db_load工具,db_load工具由db4_utils软件包提供,而db4_utils软件包须求先从RHEL5光盘目录中举办设置,其安装可以执行以下操作:
    澳门金沙国际 2

  3. 创办文本格式的用户名、密码列表
    首先须要建立文本格式的用户名/密码列表文件,奇数行为用户名,偶数行为上一行中用户所对应的密码。如图所示:

    澳门金沙国际 3

    澳门金沙国际 4

  4. 创建Berkeley DB格式的数据库文件
    有了文本格式的用户名/密码列表文件之后,以此文件为数量流通过db_load工具创制出BerkeleyDB格式的数据库文件。
    澳门金沙国际 5

    在db_load命令中,“-f”选项用于指定数据源文件,“-T”选项允许非伯克利DB的应用程序使用从文本格式转换的DB数据文件,“-t
    hash”选项指定读取数据文件的基本办法。
    为了抓牢虚拟用户账号问价的安全性,应将问价权限设置为600,以防止数据败露。其具体操作如下:

    澳门金沙国际 6

  5. 添加虚拟用户的炫耀账号、成立FTP根目录
    vsftp服务器对虚拟用户的主宰接纳了炫耀的控制情势,将拥有的杜撰用户对应到同一个系统用户,该种类用户宿主目录作为所有虚拟用户登录后共用的FTP根目录。因而还须要丰盛一个遥相呼应的种类用户账户(此账号无需安装密码及shell)。

    澳门金沙国际 7

  6. 为虚拟用户建立PAM认证文件
    vsftpd服务默许的PAM认证文件位于/etc/pam.d/vsftpd,该文件适用于以Linux主机的连串用户账号举办表达。若要读取虚拟用户的账号文件,就须要成立新的PAM认证配置。
    澳门金沙国际 8
    澳门金沙国际 9
    上述PAM配置内容中,通过“db=/etc/vsftpd/vusers”参数指定了要运用的虚构用户数据库文件地点(省略了.db增添名),即对应为/etc/vsftpd/vusers.db文件。

  7. 修改vsftpd配置,添加虚拟用户扶助
    在vsftpd.conf配置文件中添加guest_enable、guest_username配置项,将做客FTP服务的有所虚拟用户对应到同样系统用户账号virtual,并修改pam_serivce_name配置项,指向上一步建立的/etc/pam.d/vsftpd.vu认证文件。
    澳门金沙国际 10
    澳门金沙国际 11

    澳门金沙国际 12
    在vsftpd服务中,虚拟用户被默许作为匿名用户进行处理以减低权限,因而相应的计划项普通以anon_开头。

  8. 始建目录/var/ftp/soft/,将属主设为virtual,权限为755。如图所示:
    澳门金沙国际 13

  9. 为差距的虚构用户建立独立的布局文件
    由此后面的多少个步骤,实际上已经可以重新加载vsftpd并提供劳动了,使用任一个虚构用户账号都得以登录FTP服务器并下载文件。但因为拥有的虚构用都映射到同一个种类用户账号,因而FTP访问权限也是同一的,要么都不得不下载,要么都可以上传。
    若要为区其余杜撰用户账号设置区其余造访权限,可以经过为每个虚拟用户建立单独的配备文件来完成,为FTP用户启用独立计划文件,须求通过vsftpd.conf配置文件,添加“user_config_dir”配置项。
    澳门金沙国际 14

    澳门金沙国际 15
    有了上述配置将来,就可以在/etc/vsftpd/vusers_dir/目录中为各样虚拟用户分别创制布局文件了。
    澳门金沙国际 16
    澳门金沙国际 17
    澳门金沙国际 18
    澳门金沙国际 19
    澳门金沙国际 20
    澳门金沙国际 21
    澳门金沙国际 22
    在vsftpd.conf文件中启用了“user_config_dir”配置项将来,应该为每一个虚拟用户都创制一个单独的配备用户(可以是空文件),否则该用户可能会不能登录。在种种用户的独门陈设文件中,可以添加新的布局项来界定访问权限、下载速率等。
    有了虚拟用户数据库文件,并为vsftpd正确添加了虚拟用户匡助未来,就可以再度加载vsftpd服务程序了。用户可以应用FTP客户程序访问该FTP服务器,以编造用户账号举办测试。
    FTP服务器搭建落成!
     使用user_list用户列表文件
    当vsftpd服务器开放了“local_enable”配置项未来,默许情况下具有的系统用户都得以登录到此FTP服务器。若只愿意对一小部分系统用户开放FTP服务,则要求开放用户列表控制的有关配置项,其中主要概括userlist_enbale、userlist_deny。如图所示:
    澳门金沙国际 23
    澳门金沙国际 24
    澳门金沙国际 25
    澳门金沙国际 26
     修改vsftpd服务的监听地址、端口
    澳门金沙国际 27
    澳门金沙国际 28

    澳门金沙国际 29

Ø 用户访问及文件权限决定

上边是有关FTP这么些服务的特性

更改端口号后,Linux访问:ftp://IP地址端口号
 允许利用FTP服务器的被动方式
澳门金沙国际 30

u 开放匿名访问,任何用户均可下载服务器/var/ftp/soft/目录中的软件资料。

(1)FTP服务相关软件

澳门金沙国际 31

u 用户zhangsan能够对服务器的/var/ftp/soft/目录举行上传、删除等操作。

   IISServ-U Vsftpd proftpd
pureftpd


主动情势:服务器主动发起数据连接。首先由客户端向服务端的21端口建立FTP控制连接,当需求传输数据时,客户端以PORT命令告知服务器“我打开了某端口,你恢复生机连接我”,于是服务器从20端口向客户端的该端口发送请求并树立数量连接。

被动格局:服务器被动等待数据连接。倘诺客户机所在互连网的防火墙禁止主动形式连接,常常会采纳被动形式。首先由客户端向劳动器端的21端口建立FTP控制连接。当要求传输数据时,服务器已PASV命令告知客户端“我打开了某端口,你回复连接我”,于是客户端向服务器的该端口(非20)发送请求并成立数量连接。

u 用户lisi可以下载服务器/var/market/目录中的市场活动、销售方案的资料。

(2)FTP客户端相关软件

u 用户wangwu可以对服务器/var/market/目录举办上传、删除等操作。

   ftp命令 CuteFTP FlashFTP LeapFTP Filezilla
gftp kuftp

u 所有通过FTP上传的文件,均去除非属主位的写权限(即将权限掩码设为022)。

(3)VSFTP的医护进度

u 对服务器中尚无明确授权的此外目录,禁止任何用户访问。

   /usr/sbin/vsftpd

Ø 传输速率和产出连接控制

(4)FTP的启航脚本

u 最多允许150个冒出用户连接,每个IP并发连接数不超过5个。

   /etc/init.d/vsftpd

u 匿名用户及lisi用户的下载带宽限制为100KB/s。

(5)FTP的端口

u wangwu用户的下载、上传带宽限制为200KB/s。

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

具体步骤:

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

  1. 插入光盘并挂载,然后安装vsftpd包。如图所示:

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

澳门金沙国际 32

 (6)用户控制列表文件

2.
vsftpd服务使用伯克利DB格式的数据库文件来存放虚拟用户账号。建立那种数据库文件须要用到db_load工具,db_load工具由db4_utils软件包提供,而db4_utils软件包必要先从RHEL5光盘目录中举行安装,其安装可以实施以下操作:

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

澳门金沙国际 33

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

  1. 创办文本格式的用户名、密码列表

(7)工作形式  

第一需求建立文本格式的用户名/密码列表文件,奇数行为用户名,偶数行为上一行中用户所对应的密码。如图所示:

      主动情势:

澳门金沙国际 34

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

澳门金沙国际 35

 

  1. 创立BerkeleyDB格式的数据库文件

     

有了文本格式的用户名/密码列表文件之后,以此文件为数据流通过db_load工具创建出伯克利 DB格式的数据库文件。

     被动方式

澳门金沙国际 36

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

在db_load命令中,“-f”选项用于指定数据源文件,“-T”选项允许非Berkeley DB的应用程序使用从文本格式转换的DB数据文件,“-t hash”选项指定读取数据文件的着力方式。

服务器以pasv命令告诉客户自己打开了某个端口(非20端口),你来延续我,客户端会像服务器的非20端口建立数量连接

为了抓实虚拟用户账号问价的安全性,应将问价权限设置为600,以幸免数据外泄。其具体操作如下:

  

澳门金沙国际 37

 (8)按照传输文件是还是不是开展字符转换分为:

1. 添加虚拟用户的映射账号、创设FTP根目录

   
文件格局(又称为ASCII)以文件连串传输数据,用的较多

vsftp服务器对虚拟用户的支配接纳了炫耀的支配方法,将具备的虚构用户对应到同一个体系用户,该体系用户宿主目录作为具有虚拟用户登录后共用的FTP根目录。因而还须求加上一个相应的系统用户账户(此账号无需安装密码及shell)。

   
二进制形式(又称为Binary格局)以二进制系列传输数据

澳门金沙国际 38

 

1. 为虚拟用户建立PAM认证文件

 

vsftpd服务默许的PAM认证文件位于/etc/pam.d/vsftpd,该公文适用于以Linux主机的种类用户账号举行求证。若要读取虚拟用户的账号文件,就须要创设新的PAM认证配置。

主配置文件

澳门金沙国际 39

/etc/vsftpd/vsftpd.conf 

澳门金沙国际 40

 

上述PAM配置内容中,通过“db=/etc/vsftpd/vusers”参数指定了要接纳的虚构用户数据库文件地点(省略了.db扩张名),即对应为/etc/vsftpd/vusers.db文件。

FTP文件传输服务,FTP实验报告。 

7. 修改vsftpd配置,添加虚拟用户接济

 

在vsftpd.conf配置文件中添加guest_enable、guest_username配置项,将访问FTP服务的保有虚拟用户对应到平等系统用户账号virtual,并修改pam_serivce_name配置项,指向上一步建立的/etc/pam.d/vsftpd.vu认证文件。

搭建FTP服务:

澳门金沙国际 41澳门金沙国际 42澳门金沙国际 43

  1、搭建yum仓库

  在vsftpd服务中,虚拟用户被默许作为匿名用户举行拍卖以下落权限,因而相应的安排项普通以anon_开头。

   (1)mount/dev/cdrom /mnt

开创目录/var/ftp/soft/,将属主设为virtual,权限为755。如图所示:

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

澳门金沙国际 44

   [rhel-Server]

1. 为不一样的虚拟用户建立独立的布局文件

   name=Red Hat Enterprise
Server

通过前边的多少个步骤,实际上已经得以重新加载vsftpd并提供劳务了,使用任一个虚构用户账号都可以登录FTP服务器并下载文件。但因为有着的杜撰用都映射到同一个连串用户账号,由此FTP访问权限也是同等的,要么都只可以下载,要么都可以上传。

  
baseurl=file:///mnt/Server

若要为不一致的虚构用户账号设置分歧的走访权限,可以透过为各样虚拟用户建立独立的配置文件来兑现,为FTP用户启用独立布署文件,须求经过vsftpd.conf配置文件,添加“user_config_dir”配置项。

   enabled=1

澳门金沙国际 45

   gpgcheck=0

澳门金沙国际 46


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

有了上述配置将来,就可以在/etc/vsftpd/vusers_dir/目录中为每个虚拟用户分别创立布局文件了。

 

澳门金沙国际 47

   2**、安装**

澳门金沙国际 48

      yum-y install
vsftpd*

澳门金沙国际 49

 

澳门金沙国际 50

布局选项讲解

澳门金沙国际 51

实验1

澳门金沙国际 52

1. 
创建测试文件

澳门金沙国际 53

2. 
匿名用户ftp对/var/ftp/pub有写入权限

澳门金沙国际 54

3. 
同意匿名用户浏览

澳门金沙国际 55澳门金沙国际 56

4. 
同意用户(匿名,本地,虚拟)有上传权限

在vsftpd.conf文件中启用了“user_config_dir”配置项将来,应该为每一个虚拟用户都创造一个独立的布署用户(可以是空文件),否则该用户可能会无法登录。在各种用户的独自布置文件中,可以添加新的配置项来界定访问权限、下载速率等。

5. 
允许匿名用户有上传权限

有了虚拟用户数据库文件,并为vsftpd正确添加了虚拟用户协理未来,就可以重复加载vsftpd服务程序了。用户可以选拔FTP客户程序访问该FTP服务器,以编造用户账号进行测试。

6. 
同意匿名用户有上传文件夹权限

FTP服务器搭建已毕!

7. 
明令禁止匿名用户有删除,覆盖等权力

使用user_list用户列表文件

 

当vsftpd服务器开放了“local_enable”配置项未来,默许意况下拥有的系统用户都可以登录到此FTP服务器。若只盼望对一小部分系统用户开放FTP服务,则必要开放用户列表控制的相干配置项,其中第一概括userlist_enbale、userlist_deny。如图所示:

(1)查看ftp的默许根路径,默许是有一个pub目录(默许的跟目录),

澳门金沙国际 57

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

澳门金沙国际 58澳门金沙国际 59澳门金沙国际 60

   pub

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

(2)备份配置文件

澳门金沙国际 61

cd /etc/vsftpd/vsftpd.confg

澳门金沙国际 62澳门金沙国际 63

   cp vsftpd.conf
vsftpd.bak

更改端口号后,Linux访问:ftp://IP地址 端口号

   vim vsftpd.conf

允许拔取FTP服务器的被动形式

   内容如下

澳门金沙国际 64澳门金沙国际 65

write_enable=YES

Ø 百尺竿头更进一步方式:服务器主动发起数据连接。首先由客户端向服务端的21端口建立FTP控制连接,当要求传输数据时,客户端以PORT命令告知服务器“我打开了某端口,你复苏连接我”,于是服务器从20端口向客户端的该端口发送请求并确立数量连接。

anon_umask=022

Ø 被动情势:服务器被动等待数据连接 。倘诺客户机所在互连网的防火墙禁止主动形式连接,平常会选择被动形式。首先由客户端向劳动器端的21端口建立FTP控制连接。当必要传输数据时,服务器已PASV命令告知客户端“我打开了某端口,你復苏连接我”,于是客户端向服务器的该端口(非20)发送请求并树立数量连接。

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目录。

 

进入到pub目录下,可以成立和上传测试目录了。如图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地址

 

登陆上默许是室如悬磬的,因为那是用户的家目录。

 

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

 

实验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工具创立出伯克利 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.sodb=/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

vim a

local_root=/test  
确定了a用户的根目录  注意:一定要把目录的属主改为虚构用户对应的连串用户。

 

 

默许就是装有权限

 

 

小结:本地用户和虚构用户不可能而且登录、因为证实方式唯有一种

本地是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 ~]#
servicevsftpd restart

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

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

 

 

相关文章