专栏首页python3linux下ftp服务阶段实验(3)

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

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> 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用virtualenv搭建独立的Pyt

        virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题。

    py3study
  • Centos7 Python3安装

    下面的操作,按照步骤来就可以了,不要在中途cd 到别的文件目录下,要想查看效果可以用 lsj加上对应的目录,不需要切换进去。 首先不管你当前在哪个目录下,输入以...

    py3study
  • tkinter -- Pack

    pack_salves 打印当前组件包拥有的子组件,通过这个函数可以查看各个组件是否有包含关系

    py3study
  • docker的常用命令汇总 原

         具体docker的优势我就不说了,下面就使用docker的一些常用命令具体详细说下:

    拓荒者
  • eclipse控制台中文乱码解决方法

    2.General > Workspace > Text file encoding.

    2Simple
  • 020.Zabbix的Actions配置

    当产生Trigger后,即当触发器条件被满足时,采取一些操作,如发送事件通知,远程执行命令等,需要配置Action。

    木二
  • 双十一交易额超1100亿破记录,马云要感谢剁手党更要感谢直播网红?

    今年是我第一次到天猫双十一活动现场全天候观摩,有幸见证了双11的整个过程。第一个小时就表现出非常强劲的增长势头,直接突破353亿,去年第一个小时只有247亿。早...

    罗超频道
  • 视频直播/点播流媒体服务器是否可以对接RTSP视频流?

    一般来说我们默认视频直播/点播服务器是使用RTMP推流播放视频的,但是实际上RTSP流也是可以对接到其中的,只是我们使用的机会和频率并不算多,所以这个功能的介绍...

    EasyNVR
  • 双十一黑产狙击:腾讯安全护航电商大促成绩单出炉!

    腾讯安全
  • 001.YUM源服务端搭建

    提示:本环境方便测试,将服务器地址添加至hosts,生产环境在有DNS情况下可跳过。

    木二

扫码关注云+社区

领取腾讯云代金券