linux_课程设计模板

时间:2024.3.19

辽  宁  工  业  大  学

    linux      课程设计(论文)

题目:    REDHAT LINUX 系统下搭建FTP 服务器   

学    院:       软件学院         

专业班级:     软件工程125班     

学    号:       121301143       

学生姓名:         张白冰         

指导教师:         陈  浩         

教师职称:         讲  师         

起止时间:  2012.12.1—2012.12.5  

课程设计(论文)任务及评语

学 院:软件学院                                教研室:


目录

第一章 安装VSFTP套件. 1

1.1首先查看我的Redhat5上是否已经安装. 1

1.2 如果没有安装话,就要选择一种方式安装. 1

1.3 VsFtp的配置文件. 3

第二章 配置FTP服务器. 4

2.1最简单的vsfrpd.conf设定. 4

2.2 配置好FTP服务器后,使用匿名用户及实体用户上传下载文件进行测试。. 5

第三章 总结. 9

参考文献. 10


第一章 安装VSFTP套件

1.1首先查看我的Redhat5上是否已经安装

rpm -qa| grep vsftpd

如果已经安装就会出现vstfp的版本号相关的信息,如果没有出现就是没有安装

1.2 如果没有安装话,就要选择一种方式安装

可以到官方网站去下载 http://vsftpd.beasts.org

也可以用光盘安装,RedHat 5的安盘里自带的,所以我选择光盘安装

(1)先把光盘挂载到系统上:

mount /dev/cdrom /mnt

这样光盘的内容就被挂载到/mnt的设备上,现在可以通过/mnt访问光盘上的内容了

(2)在光盘上安装vsftp,并且启动vsftp

rpm  -ivh vsftpd*

(3)修改启动方式,改为系统启动时,自动启动

chkconfig vsftpd on

也可以查看启动方式

chkconfig --list |grep vsftpd

只要在第2--5为on就能随机启动

(4)启动ftp

service vsftpd start

(5)连接测试

vsftp默认安装目录是:/etc/vsftpd

默认有一个ftp目录:var/ftp

vsftp默认是用允许匿名用户【anonymous】登陆,允许下载,但是不允许上传

如果连不上,可能是linux 防火墙的原因

停止防火墙:service iptables stop

开启防火墙:service iptables start

(1)从光盘中找到从光盘中找到从光盘中找到从光盘中找到 vsftp的的的的rpm安装包安装包安装包安装包

图1

(2)rpm -ivh --force --nodeps  vsftpd-2.0.1-5.EL4.5.i386.rpm

图2

(3)检验是否安装成功

图3

(4)尝试启动

图4

(5)Windows下尝试连接,在地址行中输入ftp://ip地址,,如果能访问则表示启动成功。

(6)创建FTP用户,在Linux中,ftp用户和系统用户是同一个的,因此,创建系统用户就等于创建了FTP用户。

图5

(7)设置用户,需要设置ftp的用户不能使用的ssh登入,同时系统用户也不能使用通过ftp进行登入。可以通过修改/etc/vsftp目录下的ftp_user文件来对权限进行控制。

图6

8. 设置ftp的主目录,vsftp的用户是与系统用户相同的,所以ftp的主目录也就是该系统用户的根目录也就是该系统用户的根目录,如果有多个用户,则指定所有用户都为同一个根目录即可。

9. 将防火墙设置为允许ftp通过模式,重启ftp服务,尝试登入。

1.3 VsFtp的配置文件

/etc/vsftpd/vsftpd.conf----------主配置文件

/etc/rc.d/init.d/vsftpd  ----------启动脚本

/etc/pam.d/vsftpd ----------- PAM认证文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止访问的用户来自/etc/vsftpd/ftpusers文件中的用户)

/etc/vsftpd/ftpusers -------------禁止使用vsftpd的用户列表文件。记录不允许访问FTP服务器的用户名单,管理员可以把一些对系统安全有威胁的用户账号记录在此文件中,以免用户从FTP登录后获得大于上传下载操作的权利,而对系统造成损坏。

/etc/vsftpd/user_list-------------禁止或允许使用vsftpd的用户列表文件。这个文件中指定的用户缺省情况(即在/etc/vsftpd/vsftpd.conf中设置userlist_deny=YES)下也不能访问FTP服务器,在设置了userlist_deny=NO时,仅允许user_list中指定的用户访问FTP服务器。

/var/ftp  -----------------------------匿名用户主目录;本地用户主目录为:/home/用户主目录,即登录后进入自己家目录

/var/ftp/pub------------------------匿名用户的下载目录,此目录需赋权根chmod 1777 pub(1为特殊权限,使上载后无法删除)

/etc/logrotate.d/vsftpd.log--- Vsftpd的日志文件

第二章 配置FTP服务器

2.1最简单的vsfrpd.conf设定

一、修改/etc/vsftpd/vsftpd.conf文件

[root@test root]# vi /etc/vsftpd/vsftpd.conf //

以下是关于主机与安全性的设定

Use_localtime=YES //

Dirmessage_enable=YES //发送修改目录信息

Connect_from_port_20=YES //允许使用数据传输端口 20

Xferlog_enable=YES //登陆记录

Xferlog_std_format=YES //标准登陆记录

Pam_service_name=vsftpd //设置PAM论证服务的配置文件名称,存入/etc/pam.d/目录

Userlist_enable=YES //由于默认userlist_deny=YES

Tcp_wrappers=YES //

以下是关于anonymous的设定

Anonymous_enable=YES //允许匿名用户登陆

以下是关于实体用户的设定

Local_enable=YES //允许实体用户登陆

Write_enabel=YES //允许写操作

Local_umask=022 //文件掩码

Userlist_enable=YES //

二、重新启动vsftpd服务器,使更新的配置文件有效

[root@test root]#/etc/rc.d/init.d/vsftpd restart //重新启动

三、进行客户端测试。以匿名用户登录Linux下的FTP服务器的过程如下:

C:\Documents and Settings\Administrator>ftp 172.25.1.126 //ftp加IP地址

Connected to 172.25.1.126.

200(vsFTPD 1.1.3)

User(172.25.1.126:(none)):anonymous //输入用户名为anonymous

331 please specify the password.

Password: //输入密码anonymous

230 login successful. Have fun.

Frp>is //查看命令

200 port command successful.consider using pasv //显示信息

150 here comes the directory listing.

Pub //is命令结果

226 directory send ok.

ftp:5 bytes received in 0.00seconds 5000.00kbytes/sec.

以实体用户(如yangzongde)登陆linux下的FTP服务器的过程如下:

C:\Documents and Settings\Administrator>ftp 172.25.1.126

Connected to 172.25.1.126.

200(vsFTPD 1.1.3)

User(172.25.1.126:(none)):yangzongde

331 please specify the password.

Password:

230 login successful. Have fun.

Frp>is

200 port command successful.consider using pasv //显示信息

150 here comes the directory listing.

a.txt

226 directory send ok.

ftp:5 bytes received in 0.00seconds 5000.00kbytes/sec.

2.2 配置好FTP服务器后,使用匿名用户及实体用户上传下载文件进行测试。

一、设定配置文件内容

[root@test root]# vi /etc/vsftpd/ vsftpd.conf

#关于主机与安全性的设定

Using_localtime=YES

Dirmessage_enable=YES

Xferlog_enable=YES

Connect_from_port_20=YES

Pam_service_name=vsftpd

Tcp_wrappers=YES

#关于anonymous的设定

Anonymous_enable=NO

#关于real user的设定

Local_enable=YES

write_enable=YES

local_umask=022

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

userlist_deny=YES

userlist_file=/etc/vsftpd.user_list

local_max_rate=100000

二、限制实体用户在自己的主目录内设定文件

[root@test root]# vi /etc/vsftpd.chroot_list

test1

test2

三、以PAM模式限制某些帐号无法登录主机的设定。

[root@test root]# vi /etc/pam.d/vfsftpd

auth ….. file=/etc/vsftpd.ftpusers …

[root@test root]# vi /etc/vsftpd.ftpusers

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

四、以userlist_file限制某些帐号的登录。

[root@test root]# vi /etc/vsftpd.user_list

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

五、设定进入目录时显示的讯息

[root@test root]# vi /home/.message

this is the home dictionary!

六、重新启动xinetd。

[root@test root]# /etc/rc.d/init.d/vsftpd restart

七、测试。以匿名用户为例的测试过程如下:

c:\Documents and Settings\Administrator>ftp 172.25.1.126

Connected to 172.25.1.126.

220 (vsFTPd 1.1.3)

User (172.25.1.126:(none)): anonymous

331 Please specify the password.

Password:

530 Login incorrect.

Login failed.

以实体用户为例的(非test1和test2)测试过程如下:

c:\Documents and Setting\Aministrator>ftp 172.25.1.126

Connected to 172.25.1.126.

220 (vsFTPd 1.1.3)

User (172.25.1.126:(none)): yangzongde

331 Please specify the password.

Password:

230  Login successful. Have fun.

ftp> cd /

250 Directory successfullty changed.

以test1用户为例的测试过程如下:

c:\Documents and Settings\Administrator>ftp 172.25.1.126

Connected to 172.25.1.126.

220  (vsFTPd 1.1.3)

User (172.25.1.126:(nonr)): test1

331 Please specify the password.

Password:

230 Login successful. Have fun.

ftp> pwd

257 ”/”

ftp> ls

200 PORT command successful. Consider using PASV.

150 Here comes the directory listing.

226 Directory send OK.

第三章 总结

本次实验惊醒的还算顺利,遇到的问题基本上都能解决,实验过程就是一个学习的过程,本次课程让我了解了linux,此次实验让我受益匪浅。

linux登录部分:在使用非root用户登录后不能使用的一些命令要注意在登录后切换角色,有时候不是su root就能完全切换过来的,必要时用su –l root,这时候基本上是可以搞定了。

ip配置部分:考虑到本机所在网段,最好是把VMware net8配置到和本机在同一网段,还有就是在本机上对net8和net1进行配置只是对虚拟机的网卡的所在网段进行配置,需要在虚拟机内部把ip地址配到和net8在同一网段,否则会出现和我前面出现的一样情况,能ping通,但是不能连接。

本地用户登录部分:本地用户登录后能在整个linux文件内部进行切换,如果要实现本地用户的上传和下载需要在vsftpd.conf进行一系列配置,具体操作参看实验内容部分。

匿名用户部分:在默认情况下,匿名用户是可以登录的,也可以下载,但是没有上传的权限,需要在vsftpd.conf里面修改anon_upload_enable=YES,此时重新启动vsftpd就行了,敲入service vsftpd restart 重启。

虚拟用户部分:首先要了解虚拟用户的功能,参看csdn上面大牛们的工作日记可以了解到:公司要重新搭建一个vsftp,考虑到服务器的安全性,所以关闭实体用户登录,使用虚拟帐号验证机制,并对不同虚拟帐号设置不同的权限。因为          vsftpd 的虚拟用户采用了不与系统账户口令文件合二为一的方法,也就是说,为了认证这些虚拟用户vsftpd 使用单独的口令库文件(pam_userdb),由可插拔认证模块(PAM)进行认证。使用这种方式更加安全,并且配置更灵活,可以代替本地用户登录FTP服务器。


参考文献

1  李善平,刘文峰,王焕龙.Linux与嵌入式系统(2).北京:清华大学出版社,2006.3,208~211

2  Kurt Wall等.GNU/Linux编程指南(2).张辉译.北京:清华大学出版社,2002.6,372~390

3  马季兰,彭新光.Linux操作系统(3).北京:电子工业出版社,2004.8,132~155

4  Neil Matthew,Richard Stones.Linux程序设计(3).陈健,宋健健等译.北京:人民邮电出版社,2007.7,579~604

5  倪继利.Qt及Linux操作系统窗口设计.北京: 电子工业出版社,2006.12,218~236

6  徐成等著.嵌入式Linux系统实训教程.北京:人民邮电出版社,2010.4,180~201

7  韦东山.嵌入式Linux应用开发完全手册.北京:人民邮电出版社,2007.4,32~45

8  苗忠良,宛斌.Qtopia编程之道.北京:清华大学出版社,2009.1,92~104

9  吴鑫毅.基于Qt和ARM的无线点菜系统软件设计. (硕士学位论文) .厦门大学:机械电子工程,2009.06.01,16~35

10 杨向文.基于ARM-LINUX的嵌入式媒体播放器的研究与实现.(硕士学位论文).大连海事大学:计算机科学与技术,2009.06.01,40~44

11 李年倏.基于Linux的多媒体播放器的软件设计与实现.三明学院:数学与计算机科学系,2009.12,1~6

12 王森林.基于嵌入式Linux的多媒体播放器设计. (硕士学位论文).西南交通大学:电力电子与电力传动,2007.04.01,16~24

13 郑建文.嵌入式多媒体开发平台的设计和实现.(硕士学位论文).厦门大学:电路与系统,2008.08.01,9~12

更多相关推荐:
linux课程设计

Linux课程设计姓名:**学号:**学院:信息科学与工程学院班级:网络一班题目:Linux环境下服务器配置与实现20**年12月15日目录1课程设计目的12课程设计的基本要求13课程设计的主要内容3.1设计题…

Linux课程设计报告

内核模块编程一相关原理介绍分析11内核模块编程简介Linux操作系统的内核是单一体系结构Monolithickernel的也就是说Linux内核是一个单独的非常大的程序这种体系结构导致了Linux内核的可扩展性...

Linux课程设计报告书

Linux操作系统与程序设计课程设计A报告书姓名学号班级专业指导老师提交日期20xx年06月14日1实验项目目的Linux操作系统课程设计B是一门在课程Linux操作系统与程序设计B后独立开设的实验课程这一门实...

重庆大学linux课程设计报告

重庆大学课程设计报告课程设计题目学院专业班级年级姓名学号月日成绩指导教师重庆大学教务处制课程设计指导教师评定成绩表张浩20xx5396指导教师评定成绩指导教师签名年月日课程设计指导教师评定成绩表周键20xx53...

linux课程设计报告

《Linux操作系统》课程设计报告题目:Linux对进程和线程的管理机制研究所在院系:软件学院完成学生:**计算机科学与技术指导教师:**完成日期:20xx年6月6日目录1.课程设计题目概述..........…

Linux课程设计报告书模版

Linux系统与程序设计课程设计报告书报告人目录1实验项目目的错误未定义书签2实验项目的功能及模块划分23实验项目的人员组成及指责划分4设计与实现341系统结构342客户端界面3421注册3422登录4423界...

嵌入式linux课程设计报告-聊天程序设计

重庆科技学院课程设计成果院系电气与信息工程学院班级计科普0802学生姓名学号设计地点单位I315设计题目聊天程序设计完成日期20xx年9月5日指导教师评语成绩五级记分制教师签名1摘要嵌入式linux在电子行业的...

Linux课程设计报告

Linux课程设计班级08计算机三班姓名王海鹏学号20xx5132指导教师于群提交日期20xx06231课程设计题目编写proc文件系统相关的内核模块1设计一模块该模块的功能是列出系统中所有内核线程的程序名PI...

linux课程设计报告

Linux课程设计专业班级1班学生姓名陈琛学号110107011129第1页1问题描述在Linux操作系统下使用QT完成一个有AI的五子棋游戏2概述本程序使用QT制作图形界面展现出一个五子棋的游戏界面并通过它与...

Linux课程设计

Linux操作系统与程序设计课程设计B报告书题目基于Socket的并发文件操作软件设计与实现姓名学号109074047班级计102专业计算机科学与技术指导老师提交日期1实验项目目的Linux操作系统课程设计B是...

Linux课程设计报告书钱进飞

Linux操作系统与程序设计课程设计报告书指导教师报告人1第一章11实验项目目的绪论本次课程设计是为了加强对Linux系统下的编程的各种知识点的整合与灵活运用让我们更加熟悉Linux下的编程操作重点在Linux...

Linux课程设计指导书

Linux操作系统与程序设计课程设计指导书安徽工业大学计算机学院Linux操作系统课程设计指导书安徽工业大学计算机学院一实验目的Linux操作系统课程设计是一门在课程Linux操作系统与程序设计后独立开设的实验...

linux课程设计报告(33篇)