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

2020-01-08 11:24:50 浏览数 (1)

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

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

1.修改vsftpd主配置文件

代码语言:javascript复制
[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.为不同的用户建立独立的配置文件

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

代码语言:javascript复制
[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独立配置文件

代码语言:javascript复制
[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独立配置文件

代码语言:javascript复制
[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家目录

代码语言:javascript复制
[root@localhost /]# mkdir ftp hello admin

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

代码语言:javascript复制
[root@localhost /]# touch ftp/ftp
[root@localhost /]# touch hello/hello
[root@localhost /]# touch admin/admin

#给hello文件添加写权限

代码语言:javascript复制
[root@localhost /]# chown o w hello/

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

代码语言:javascript复制
[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

代码语言:javascript复制
[root@localhost ~]# vim /etc/vsftpd/ftpusers
[root@localhost ~]# vim /etc/vsftpd/user_list
代码语言:javascript复制
[root@localhost ~]# service vsftpd restart

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

5.验证用户登录

#测试匿名用户登录

代码语言:javascript复制
[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用户登录

代码语言:javascript复制
[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用户登录

代码语言:javascript复制
[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> 

0 人点赞