linux下ftp服务阶段实验(3)

发布时间:2019-09-13 09:26:30编辑:auto阅读(1596)

    linux下ftp服务阶段实验(3)

     

    3.  (1)匿名用户的FTP根目录是/ftp,只能下载,下载速度为100Kbps
        (2)本地用户hello的FTP根目录为/hello,可以上传下载,家目录被锁定,下载速度为200Kbps
        (3)管理员root的FTP根目录为/admin,可以上传下载,家目录不被锁定,下载速度不限制
         注意以上用户的本地宿主目录不要修改

    1.修改vsftpd主配置文件

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

    #需要添加和修改的地方
    chroot_local_user=YES                      #将本地用户禁锢在自己的家目录
    chroot_list_enable=YES                     #列表中的用户不被禁锢自己的家目录
    chroot_list_file=/etc/vsftpd/chroot_list   #定义列表文件路径
    user_config_dir=/etc/vsftpd/ftp            #定义用户独立配置文件的路径

    2.为不同的用户建立独立的配置文件

    #编辑匿名用户独立配置文件

    [root@localhost ~]# vim /etc/vsftpd/ftp/ftp
    [root@localhost ~]# cat /etc/vsftpd/ftp/ftp

    anonymous_enable=YES      #允许匿名用户登录
    anon_root=/ftp            #定义匿名用户根目录
    anon_upload_enable=NO     #不允许匿名用户上传
    local_max_rate=100000     #最大下载速度为100k

     

    #编辑用户hello独立配置文件

    [root@localhost ~]# vim /etc/vsftpd/ftp/hello
    [root@localhost ~]# cat /etc/vsftpd/ftp/hello

    local_root=/hello            #定义用户的根目录
    write_enable=YES             #允许用户上传
    download_enable=YES            #允许用户下载
    local_max_rate=200000          #最大下载速度为200

     

    #编辑用户root独立配置文件

    [root@localhost ~]# vim /etc/vsftpd/ftp/root
    [root@localhost ~]# cat /etc/vsftpd/ftp/root

    local_root=/admin      #定义用户的根目录
    write_enable=YES       #允许用户上传
    download_enable=YES   #允许用户下载
    local_max_rate=0       #无限速下载


    3.创建用户ftp根目录并创建一些标识性文件。

    #创建3个用户的ftp家目录

    [root@localhost /]# mkdir ftp hello admin

    #在家目录新建一些标识性空文件

    [root@localhost /]# touch ftp/ftp
    [root@localhost /]# touch hello/hello
    [root@localhost /]# touch admin/admin

    #给hello文件添加写权限

    [root@localhost /]# chown o+w hello/


    4.添加hello用户并重启vsftpd服务

    [root@localhost ~]# useradd hello
    [root@localhost ~]# echo "123"|passwd hello  --stdin

    Changing password for user hello.
    passwd: all authentication tokens updated successfully.

     

    #把以下两个文件中的root注释掉,不然root登录不了ftp

    [root@localhost ~]# vim /etc/vsftpd/ftpusers
    [root@localhost ~]# vim /etc/vsftpd/user_list

     

    [root@localhost ~]# service vsftpd restart

    Shutting down vsftpd:                                  [FAILED]
    Starting vsftpd for vsftpd:                            [  OK  ]

    5.验证用户登录

    #测试匿名用户登录

    [root@localhost /]# ftp 192.168.1.88

    Connected to 192.168.1.88 (192.168.1.88).
    220 (vsFTPd 2.2.2)
    Name (192.168.1.88:root): ftp 
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.              #匿名用户登录成功
    ftp> ls
    -rw-r--r--    1 0        0     0 Jul 29 19:51 ftp  #根目录下有ftp文件
    ftp> get ftp
    local: ftp remote: ftp
    227 Entering Passive Mode (192,168,1,88,24,212).
    150 Opening BINARY mode data connection for ftp (0 bytes).
    226 Transfer complete.                              #下载成功
    ftp> !ls
    ~]#   Desktop    Downloads  install.log    Music     Public       Templates  vim
    anaconda-ks.cfg  Documents  ftp        install.log.syslog  Pictures  [root@localhost  Videos
    ftp> put install.log
    local: install.log remote: install.log
    227 Entering Passive Mode (192,168,1,88,118,42).
    550 Permission denied.                            #上传失败

     

    #测试hello用户登录

    [root@localhost ~]# ftp 192.168.1.88

    Connected to 192.168.1.88 (192.168.1.88).
    220 (vsFTPd 2.2.2)
    Name (192.168.1.88:root): hello
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.  
    Using binary mode to transfer files.              #用户hello登录成功
    ftp> !ls
    anaconda-ks.cfg  Documents  install.log  Music   Public    Templates  vim
    Desktop   Downloads  install.log.syslog Pictures  [root@localhost  Videos
    ftp> ls

    -rw-r--r--    1 0        0               0 Jul 29 19:51 hello
    ftp> get hello
    local: hello remote: hello
    227 Entering Passive Mode (192,168,1,88,131,202).
    150 Opening BINARY mode data connection for hello (0 bytes).
    226 Transfer complete.                              #下载成功
    ftp> put install.log
    local: install.log remote: install.log
    227 Entering Passive Mode (192,168,1,88,29,249).
    150 Ok to send data.
    226 Transfer complete.                     #上传成功

    37842 bytes sent in 0.000236 secs (160347.45 Kbytes/sec)  
    ftp> pwd
    257 "/"
    ftp> cd /mnt
    550 Failed to change directory.                 #切换目录失败

    ftp> 


    测试root用户登录

    [root@localhost ~]# ftp 192.168.1.88

    Connected to 192.168.1.88 (192.168.1.88).
    220 (vsFTPd 2.2.2)
    Name (192.168.1.88:root): root
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX. 
    Using binary mode to transfer files.                       #root用户登录成功
    ftp> ls
    -rw-r--r--    1 0        0               0 Jul 29 19:51 admin
    ftp> !ls
    anaconda-ks.cfg  Documents  hello  install.log.syslog  Pictures  [root@localhost Videos
    Desktop   Downloads  install.log  Music       Public    Templates vim
    ftp> get admin
    local: admin remote: admin
    227 Entering Passive Mode (192,168,1,88,210,185).
    150 Opening BINARY mode data connection for admin (0 bytes).
    226 Transfer complete.                                    #载成功
    ftp> put install.log
    local: install.log remote: install.log
    227 Entering Passive Mode (192,168,1,88,203,93).
    150 Ok to send data.
    226 Transfer complete.                                   #上传成功
    37842 bytes sent in 8.8e-05 secs (430022.72 Kbytes/sec)
    ftp> cd /root                                     #切换目录成功
    250 Directory successfully changed.
    ftp> ls
    227 Entering Passive Mode (192,168,1,88,151,231).
    150 Here comes the directory listing.
    drwxr-xr-x    2 0        0            4096 Jul 29 19:28 Desktop
    drwxr-xr-x    2 0        0            4096 Jul 29 19:28 Documents
    drwxr-xr-x    2 0        0            4096 Jul 29 19:28 Downloads
    drwxr-xr-x    2 0        0            4096 Jul 29 19:28 Music
    drwxr-xr-x    2 0        0            4096 Jul 29 19:28 Pictures
    drwxr-xr-x    2 0        0            4096 Jul 29 19:28 Public
    -rw-r--r--    1 0        0               0 Jul 29 20:18 admin
    -rw-------    1 0        0            1386 Jul 29 19:24 anaconda-ks.cfg
    -rw-r--r--    1 0        0               0 Jul 29 20:07 hello
    -rw-r--r--    1 0        0           37842 Jul 29 19:24 install.log
    -rw-r--r--    1 0        0            8529 Jul 29 19:17 install.log.syslog
    drwxr-xr-x    2 0        0            4096 Jul 29 19:40 vim
    226 Directory send OK.
    ftp> 

     

     

关键字