Day1-Ftp

day1

1. FTP搭建与访问

2. 启用用户禁锢,黑白名单

3. 使用FTP黑白名单

4. FTP并发入带宽限制


1. FTP搭建与访问

  • 安装软件包

    yum install vsftpd -y

  • 启动服务

    /etc/init.d/vsftpd start
    chkconfig vsftpd on

  • 测试

    [root@localhost ~]# ftp localhost
    Trying ::1...
    ftp: connect to address ::1拒绝连接
    Trying 127.0.0.1...
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 2.2.2)
    Name (localhost:root): ftp
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> dir
    227 Entering Passive Mode (127,0,0,1,45,157).
    150 Here comes the directory listing.
    drwxr-xr-x 2 0 0 4096 Apr 25 07:50 pub
    226 Directory send OK.
    ftp>


2. 启用用户禁锢,黑白名单

  • 启用用户禁锢

  • 禁锢前

    [root@localhost ~]# ftp localhost
    Trying ::1...
    ftp: connect to address ::1拒绝连接
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 2.2.2)
    Name (localhost:root): lisi
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls
    227 Entering Passive Mode (127,0,0,1,204,55).
    150 Here comes the directory listing.
    -rw-r--r-- 1 0 0 16 Apr 25 07:52 lisi.txt
    226 Directory send OK.
    ftp> ls /etc/passwd
    227 Entering Passive Mode (127,0,0,1,84,132).
    150 Here comes the directory listing.
    -rw-r--r-- 1 0 0 1442 Apr 27 03:03 passwd

  • 修改配置文件

    vim /etc/vsftpd/vsftpd.conf
    chroot_local_user=YES

  • 重新加载服务

    /etc/init.d/vsftpd reload

  • 验证

    useradd lisi
    echo 1 |passwd --stdin lisi

    ftp 127.0.0.1
    Connected to 127.0.0.1 (127.0.0.1).
    220 (vsFTPd 2.2.2)
    Name (127.0.0.1:root): lisi
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> dir
    227 Entering Passive Mode (127,0,0,1,214,189).
    150 Here comes the directory listing.
    -rw-r--r-- 1 0 0 16 Apr 25 07:52 lisi.txt
    226 Directory send OK.
    ftp> cd /etc/
    550 Failed to change directory.


3.使用FTP黑白名单

  • 使用黑名单

    [root@localhost ~]# echo lisi >>/etc/vsftpd/ftpusers
    [root@localhost ~]# tail -1 /etc/vsftpd/ftpusers
    lisi
    ftp
    /etc/init.d/vsftpd reload
    [root@localhost ~]# ftp 127.0.0.1
    Connected to 127.0.0.1 (127.0.0.1).
    220 (vsFTPd 2.2.2)
    Name (127.0.0.1:root): lisi
    331 Please specify the password.
    Password:
    530 Login incorrect.
    Login failed.
    ftp> //在黑名单,所有登陆失败

  • 使用白名单

    vim /etc/vsftpd/vsftpd.conf
    userlist_deny=NO //仅允许列表中的用户
    /etc/init.d/vsftpd reload

  • 清空原有记录,添加用户lisi

    vim /etc/vsftpd/user_list
    lisi
    ftp
    anonymous //添加匿名用户

  • 删除黑名单的lisi

    vim /etc/vsftpd/ftpuser
    lisi

  • 测试

    [root@localhost ~]# ftp localhost
    Trying ::1...
    ftp: connect to address ::1拒绝连接
    Trying 127.0.0.1...
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 2.2.2)
    Name (localhost:root): ftp
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> dir
    227 Entering Passive Mode (127,0,0,1,54,143).
    150 Here comes the directory listing.
    drwxr-xr-x 2 0 0 4096 Mar 22 2017 pub
    226 Directory send OK.
    ftp> exit
    221 Goodbye.


4. FTP并发入带宽限制


max_clients:限制并发的客户端个数

max_per_ip:限制每个客户机IP的并发连接数

anon_max_rate:匿名最大速度(字节/秒)

local_max_rate:验证用户最大速率(字节/秒)


  • 生成文件

    cd /var/ftp/pub
    dd if=/dev/zero of=123 bs=1M count=100

  • 限制并发连接数

    vim /etc/vsftpd/vsftpd.conf
    max_clients=100
    max_per_ip=2

    /etc/init.d/vsftpd reload

  • 客户端测试

    ftp localhost
    Trying ::1...
    ftp: connect to address ::1Connection refused
    Trying 127.0.0.1...
    Connected to localhost (127.0.0.1).
    421 There are too many connections from your internet address. //连接限制超出

  • 限制FTP传输速度

    vim /etc/vsftpd/vsftpd.conf
    anon_max_rate=5000
    local_max_rate=500000

    /etc/init.d/vsftpd reload

  • 测试

    [root@localhost ~]# wget ftp://127.0.0.1/pub/123
    --2018-04-27 14:57:43-- ftp://127.0.0.1/pub/123
    => “123”
    正在连接 127.0.0.1:21... 已连接。
    正在以 anonymous 登录 ... 登录成功!
    ==> SYST ... 完成。 ==> PWD ... 完成。
    ==> TYPE I ... 完成。 ==> CWD (1) /pub ... 完成。
    ==> SIZE 123 ... 104857600
    ==> PASV ... 完成。 ==> RETR 123 ... 完成。
    长度:104857600 (100M) (非正式数据)

    100%[==========================================>] 104,857,600 244M/s in 0.4s

    2018-04-27 14:57:44 (244 MB/s) - “123” 已保存 [104857600]

posted @ 2018-04-27 15:20  Final233  阅读(224)  评论(0)    收藏  举报