FTP实验报告
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:允许非Berkeley 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实验报告的更多相关文章
- 第二次实验报告:使用 Packet Tracer 分析应用层协议
个人信息: 姓名:倪晓东 班级:计算1811 学号:201821121020 1 实验目的 熟练使用Packet Tracer工具.分析抓到的应用层协议数据包,深入理解应用层协议,包括语法.语义.时序 ...
- 北京电子科技学院(BESTI)实验报告5
北京电子科技学院(BESTI)实验报告5 课程: 信息安全系统设计基础 班级:1452.1453 姓名:(按贡献大小排名) 郑凯杰.周恩德 学号:(按贡献大小排名) 20145314.20145217 ...
- 北京电子科技学院(BESTI)实验报告4
北京电子科技学院(BESTI)实验报告4 课程: 信息安全系统设计基础 班级:1452.1453 姓名:(按贡献大小排名)周恩德 .郑凯杰 学号:(按贡献大小排名)20145217 .201453 指 ...
- 20145215&20145307信息安全系统设计基础实验报告
20145215&20145307信息安全系统设计基础实验报告 PART1 一.实验原理 交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码.同一个体系结构可以运行不同的操作系统 ...
- 北京电子科技学院(BESTI)实验报告1
北京电子科技学院(BESTI)实验报告1 课程: 信息安全系统设计基础 班级:1452.1453 姓名:(按贡献大小排名)郑凯杰 .周恩德 学号:(按贡献大小排名)20145314 .20145217 ...
- 北京电子科技学院(BESTI)实验报告3
北京电子科技学院(BESTI)实验报告3 课程: 信息安全系统设计基础 班级:1452.1453 姓名:(按贡献大小排名)周恩德 .郑凯杰 学号:(按贡献大小排名)20145217 .201453 指 ...
- 20145205 《Java程序设计》实验报告五:Java网络编程及安全
20145205 <Java程序设计>实验报告五:Java网络编程及安全 实验要求 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.客户端中输入明文,利用DES算法加密,D ...
- 20145220&20145209&20145309信息安全系统设计基础实验报告(5)
20145220&20145209&20145309信息安全系统设计基础实验报告(5) 实验报告链接: http://www.cnblogs.com/zym0728/p/6132249 ...
- 20145220&20145209&20145309信息安全系统设计基础实验报告(3)
20145220&20145209&20145309信息安全系统设计基础实验报告(3) 实验报告链接: http://www.cnblogs.com/zym0728/p/6132243 ...
随机推荐
- ACM2017Tsukuba:H - Homework
第一问求最多,不需要区分数学作业和信息作业,直接模拟就行了 第二问考虑每天只能产生1的贡献,每天拆成两个点,限制每天只能有1的贡献,剩下的源点连数学作业,信息作业连汇点,再将数学作业和信息作业连能连的 ...
- B - Halloween Costumes
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> ...
- 并发编程协程(Coroutine)之Gevent
并发编程协程之Gevent Gevent官网文档地址:http://www.gevent.org/contents.html 基本概念 我们通常所说的协程Coroutine其实是corporate r ...
- mysql自己编写启停脚本
一.场景 在实际生产环境中要求相对较高的企业对于root权限管控相对比较高,故而很多软件并非安装在root用户下(当然root用户权限也可管理,但正常情况下root权限并不会给业务使用方,而会给一个普 ...
- java中的线程安全是什么?什么叫线程安全?什么叫不安全?
java中的线程安全是什么: 就是线程同步的意思,就是当一个程序对一个线程安全的方法或者语句进行访问的时候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的方法进行访问 什么叫 ...
- 基于Java实现的插入排序算法
简述 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上,通常 ...
- Selenium私房菜系列5 -- 第一个Selenium RC测试案例
<Selenium简介>中讲过,Selenium RC支持多种语言编写测试案例,如:C#,Python.在工作中,我倾向于是用Python这类动态语言编写测试案例,因为这样的测试案例无需编 ...
- asp.net core mvc 异步表单(Ajax.BeginForm)
.net core中已经没有beginform扩展函数了. 通过Bower引入jquery-ajax-unobtrusive: <script src="~/lib/jquery-aj ...
- Java使用HtmlUnit抓取js渲染页面
需求: 需要采集js渲染的页面,有些网站的页面是js渲染的 实现: 基于HtmlUnit实现: public static void getAjaxPage() throws Exception{ W ...
- UVA 1625 Color Length 颜色的长度 (预处理+dp)
dp[i][j]表示前一个序列拿了i个颜色,后一个序列拿了j个颜色的最小花费. 转移的时候显然只能向dp[i+1][j],或dp[i][j+1]转移,每增加拿走一个颜色,之前已经出现但没结束的颜色个数 ...