linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文.docx

上传人:b****3 文档编号:26783308 上传时间:2023-06-22 格式:DOCX 页数:34 大小:3.36MB
下载 相关 举报
linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文.docx_第1页
第1页 / 共34页
linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文.docx_第2页
第2页 / 共34页
linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文.docx_第3页
第3页 / 共34页
linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文.docx_第4页
第4页 / 共34页
linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文.docx

《linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文.docx》由会员分享,可在线阅读,更多相关《linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文.docx(34页珍藏版)》请在冰豆网上搜索。

linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文.docx

linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文

 

《Linux系统应用》

实践考核设计说明书

 

项目名称:

Linux下的服务器创建与C程序设计

 

Linux操作系统课程设计说明书

第一章绪论

1.1RHEL6系统介绍

红帽RHEL6特别注意了可扩展性和灵活性,该版本可以支持物理、虚拟和云系统。

模糊了虚拟、物理和云计算之间的界线,以适应当代IT环境中发生的转变。

此外,内核得到了改进,加强了更多闲置时间的利用率,可以有效降低功耗——对于大型企业巨额的电费账单而言无疑是个好消息,整个地球的节能问题当然也会受益匪浅。

1.2Ubuntu系统介绍

Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。

第二章考核项目要求

2.1考核项目要求

项目一:

基于RHEL6系统的服务器搭建

1.考核要点

(1)使用VMware安装RHEL6系统,安装audacious、vlc等软件。

(2)正确配置RHEL的网络设置,通过Linux自带的Mozilla浏览器登录内外网检查配置结果。

内网测试:

http:

//192.168.0.7

外网测试:

(3)配置RHEL系统的WEB服务器工具Apache,并在服务器上存放一个静态网页实现的网站,在学校局域网内,能在其他电脑上通过IP地址浏览该网站。

配置RHEL系统的SSH服务器工具OpenSSH与FTP服务器工具vsftpd,在学校局域网内,能在其他电脑上使用相关工具通过IP地址登录该服务器。

2.作品要求

设计流程规范详细、步骤高效合理、内容充分全面,充分运用所学的知识对网络、WEB服务器、SSH服务器、FTP服务器进行正确配置。

设计过程中所涉及到的系统安装过程与配置信息需截图并进行简单阐述。

项目二:

基于Ubuntu系统的C程序设计

1.考核要点

(1)使用VMware安装Ubuntu系统。

(2)安装Vim编辑器、GCC编译器、GDB调试器、sublime编辑器。

(3)使用Vim编译器或者sublime编辑器用C语言编写SHA数字签名的源程序,使用GCC编译通过并运行,当程序结果不正确时,使用GDB进行调试。

2.作品要求

设计流程规范详细、步骤高效合理、内容充分全面。

系统和软件的安装过程、C程序编辑、编译、调试、执行结果等需截图并进行简单阐述。

第三章考核详细设计

3.1涉及工具介绍

Audacious:

Audacious是一款Linux下的音乐播放器,与其它播放器的不同之处在于,它除了支持UTF-8字符集之外,还提供其它字符集的支持,这样能比较好的解决中文乱码的问题。

Vlc:

VLC多媒体播放器(最初命名为VideoLAN客户端)是VideoLAN计划的多媒体播放器。

它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光盘及各类流式协议。

它也能作为unicast或multicast的流式服务器在IPv4或IPv6的高速网络连接下使用。

它融合了FFmpeg计划的解码器与libdvdcss程序库使其有播放多媒体文件及加密DVD影碟的功能。

Vim:

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。

VIM是纯粹的自由软件。

GCC:

GNU编译器套件(GNUCompilerCollection)包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。

GCC的初衷是为GNU操作系统专门编写的一款编译器。

GNU系统是彻底的自由软件。

此处,“自由”的含义是它尊重用户的自由。

GDB:

UNIX及UNIX-like下的调试工具。

或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。

所谓“寸有所长,尺有所短”就是这个道理。

Sublime:

SublimeText是一个代码编辑器(SublimeText2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。

SublimeText是由程序员JonSkinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。

SublimeText具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。

还可自定义键绑定,菜单和工具栏。

SublimeText的主要功能包括:

拼写检查,书签,完整的PythonAPI,Goto功能,即时项目切换,多选择,多窗口等等。

SublimeText是一个跨平台的编辑器,同时支持Windows、Linux、MacOSX等操作系统。

3.2RHEL6及工具安装

选择自定义安装,然后选择提前下载好的镜像文件rhel-server-6.5-i386-dvd.iso。

下一步设置用户名和密码

下一步分配内存

安装中

中途提示按F12接着进行安装

安装成功输入设好的密码进行登录

3.3配置WEB服务器

为了使服务器开通HTTP服务后能够运行PHP编写的交互程序,安装PHP(第一步装了),为了使PHP执行效率增高,安装Zend。

下载ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz并解压安装

执行#tar-zxvfZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz

进入ZendOptimizer-3.2.6-linux-glibc21-i386并执行#./install.sh

编辑Apache的配置文件#vi/etc/httpd/conf/httpd.cong将OS改成Prod,保存退出

#chkconfighttpdon设置http服务自动启动

#chkconfig--listhttpd查看http端口开启服务情况

#/etc/rc.d/init.d/httpd/httpdstart启动http服务

#ps-ef|grephttpd查看http是否运行

#vi/var/www/html/index.html编辑网页并设置内容

保存并退出

在linux下测试http

成功!

在win10下测试

首先开启允许对外访问的网络端口

在win10的服务项中找到DeviceInstallService并启动

进入虚拟网络编辑器出现vmnet0点击后选择桥接模式选择Real……与win10下的网卡一致

右击网络(电脑)点击第四个编辑链接

点击systemeth0继续点ipv4协议

Ip地址:

192.168.110.12子网掩码:

255.255.255.0网关:

192.168110.1应用

在linux下端口ping192.168.110.12,测试是否连通

在win10cmd中ping192.168.110.12,测试是连通

成功!

在win10下网页测试

成功!

3.4配置SSH服务器

安装ssh

#yuminstallopenssh-*-y

创建用户user1设置密码1234

生成密钥文件#ssh-keygen-trsa密码设置:

1234

修改配置文件#vi/etc/ssh/ssh-config,将NO改为YES,保存退出

重启ssh并关闭防火墙

在win10下用xshell测试

成功!

3.5配置FTP服务器

登录系统

输入#yuminstallhttpdvsftpdmysqlmysql-serverphpphp-mysql

输入y,

出现complete!

就说明成功了。

设置开机启动

输入#chkconfighttpdon、#chkconfigvsftpdon、#chkconfigmysqldon

检查服务配置状况输入#chkconfig

2/3/4/5均为on(开启)

开启服务#servicehttpdstart

开启服务#servicevsftpdstart

开启服务#servicemysqldstart

添加webftp用户组,用来承载我们的FTP授权用户

#groupaddwebftp

在webftp用户组继续添加wwwer,他也不设置主目录,不需要登录系统(/sbin/nologin),设定他的初始登入目录(/var/www)

#useradd-gwebftp-M-d/var/www-s/sbin/nologinwwwer

在webftp用户组继续添加htmler,他也不设置主目录,也不需要登录系统,设定他的初始登入目录(/var/www/html)

#useradd-gwebftp-M-d/var/www-s/sbin/nologinhtmler

为wwwer、htmler设置密码

#passwdwwwer(输入两次,我的密码是1)

#passwdhtmler(输入两次,我的密码是2)

更改/var/www目录及其下所有文件和文件夹的所有者为webftp用户组下的wwwer

#chown-Rwwwer.webftp/var/www

更改/var/www/html目录及其下所有文件和文件夹的所有者为webftp用户组下的htmler

#chown-Rhtmler.webftp/var/www/html

进入编辑模式#vi/etc/vsftpd/vsftpd.conf

将anonymous_enable=YES改为anonymous_enable=NO(不启用匿名用户)

列出所有selinux全部ftp策略

#getsebool-a|grepftp

允许FTP完全访问

#setseboolallow_ftpd_full_accesson

插入防火墙规则,这条规则是所有INPUT到服务器的包

#iptables-IINPUT-ptcp--dport80-jACCEPT(这里的包为tcp,目标端口为80,)

#iptables-IINPUT-ptcp--dport21-jACCEPT(接受所有要到达目标端口21的tcp包)

#modprobeip_conntrack_ftp(载入IP连线跟踪模块)

匿名登录

在/var/ftp/pub目录下创建一个名为test.txt的文件

更改默认下载路径

重启ftp,之后执行#setenforce0

查看地址#ifconfig,addr:

192.168.215.128

在Windowscmd中链接测试ftp192.168.215.128

在浏览器中测试结果

下载

本地用户测试

取消匿名登录方式#anonymous_enable=NO(默认的为YES)

创建用户

#useraddzlr

#passwd1(再次输入相同密码)

再修改配置文件vsftpd.conf

去掉下图中#chroot_list_enable=YES、#chroot_list_file=/etc/vsftpd/chroot_list的注释(#)

在/etc/vsftpd下创建一个文件vimchroot_list,编辑内容为zlr。

关闭selinux#cd/etc/selinux、#vimconfig修改SELINUX为disabled

执行#setenforce0,重启#servicevsftpdrestart

浏览器中测试

成功!

3.6Ubuntu及工具安装

先下载好镜像文件ubuntu-14.04.1-desktop-amd64.iso

然后自定义安装新虚拟机

设置账户信息

分配磁盘空间

安装成功

安装Vim

安装GCC、GDB

安装Sublime

完成

3.7C语言程序设计

用vim创建一个sha1.c文件。

宏定义5组函数和4个常量,方便算法调用。

通过算法得出80个w的值。

输入需要计算签名的数值,判断其位数,再对数据进行填充与处理。

通过4组循环得到最后的签名。

运用gcc,gdb对程序进行编译。

编译调试完成后,执行程序。

得到abc相应的hashvalue。

用vim编写一个check.txt文件,在其中输入abc,通过sha1sum进行检测,比对后,两者结果相同,算法正确。

第四章总结与心得

经过一个学期的学习,是我对Linux有了大致的了解,并且学会了如何去使用和操作它。

在本次实践报告中,我也学会了许多课堂上没有讲到的一些东西,刚开始做时,感觉压力较大,因为英语水平太低好多命令很难记住,出现了错误也需要用XX翻译来翻译后才知道具体是哪里出了问题。

但后来就好了,熟悉了就做的比较快了。

在配置服务时,刚开始配置WEB就碰到了问题,中途一直失败,找了半天也命令也没错,后来想起来中途关了一次机,在主机上没有开将VMware的网络打开,然后接下来就比较顺利了,配置过程都是通过XX来一点点了解然后配置完成的,感觉自己的耐心得到了锻炼,也提高了自己的自学能力。

总体来说,在整个设计过程中,完事开头难,刚开始在网上搜一些教程时比较困难,但只要弄懂了就很简单了,通过这次实践过程让我们提高了实践能力,增强了学习的自信,也更加的熟悉Linux,在接下来还得继续学习它,增强自己的专业能力。

参考文献

[1]吕士革.基于CentOSLinux的Web服务器的安装配置[J].中国信息技术教育,2009,21:

82-83.

[2]鸟哥.鸟哥的Linux私房菜:

服务器架设篇[j].机械工业出版社,2012

附录一完整程序代码

1.SHA1程序代码

#include

#include

#defineK00x5a827999

#defineK10x6ed9eba1

#defineK20x8f1bbcdc

#defineK30xca62c1d6

#defineROTL(datas,bits)((datas)<<(bits)|(datas)>>(32-(bits)))

#defineF0(x,y,z)(((x)&(y))|((~(x))&(z)))

#defineF1(x,y,z)((x)^(y)^(z))

#defineF2(x,y,z)(((x)&(y))|((x)&(z))|((y)&(z)))

#defineF3(x,y,z)((x)^(y)^(z))

voidcreatW(unsignedcharm[64],unsignedlongw[80])

{

inti,j;

for(i=0;i<16;i++)

{

j=4*i;

w[i]=((long)m[j])<<24|((long)m[j+1])<<16|((long)m[j+2])<<8|((long)m[j+3])<<0;

}

for(i=16;i<80;i++)

{

w[i]=ROTL((w[i-16]^w[i-14]^w[i-8]^w[i-3]),1);

}

}

charwork(longa,charm[64])

{

unsignedlongt,p;

inti,j;

t=0;

p=~(~t<<8);

for(i=0;i<4;i++)

{

j=i*8;

m[63-i]=(char)((a&(p<>j);

}

return'0';

}

intmain(intargc,char*argv[])

{

unsignedlongH0=0x67452301,

H1=0xefcdab89,

H2=0x98badcfe,

H3=0x10325476,

H4=0xc3d2e1f0;

unsignedlonga,b,c,d,e,T;

inti;

unsignedlongw[80];

unsignedcharm[64];

longx;

intn;

printf("pleaseinputvalue:

\n");

scanf("%s",m);

n=strlen(m);

if(n<57)

{

x=n*8;

work(x,(char*)m);

if(n==56)

for(i=n;i<64;i++)

m[i]=0;

else

{

m[n]=128;

for(i=n+1;i<64;i++)

m[i]=0;

}

}

creatW(m,w);

printf("\n");

a=H0;

b=H1;

c=H2;

d=H3;

e=H4;

for(i=0;i<20;i++)

{

T=ROTL(a,5)+F0(b,c,d)+e+w[x]+K0;

e=d;

d=c;

c=ROTL(b,30);

b=a;

a=T;

}

for(;i<40;i++)

{

T=ROTL(a,5)+F1(b,c,d)+e+w[x]+K1;

e=d;

d=c;

c=ROTL(b,30);

b=a;

a=T;

}

for(;i<60;i++)

{

T=ROTL(a,5)+F2(b,c,d)+e+w[x]+K2;

e=d;

d=c;

c=ROTL(b,30);

b=a;

a=T;

}

for(;i<80;i++)

{

T=ROTL(a,5)+F3(b,c,d)+e+w[x]+K3;

e=d;

d=c;

c=ROTL(b,30);

b=a;

a=T;

}

H0=H0+a;

H1=H1+b;

H2=H2+c;

H3=H3+d;

H4=H4+e;

printf("%lx%lx%lx%lx%lx",H0,H1,H2,H3,H4);

printf("\n");

}

 

2016-2017学年度第一学期期末考试

《Linux系统应用》实践考核成绩报告单

排课编号:

(2016-2017-1)-B080321-01801-1批阅日期:

年月日

姓名

喻贤德

班级

14网络

学号

20140520120

评分标准及

得分

评价项目

评分标准

满分

得分

备注

项目内容

项目设计过程完整充实,报告整体质量好

15

文档格式

文档格式无误

10

RHEL6和Ubuntu系统安装

流程无误,阐述充实

10

使用Linux基本命令

Linux基本命令使用无误

15

Linux软件安装

流程无误,阐述充实

10

搭建WEB服务器

流程无误,阐述充实

10

 

搭建SSH服务器

流程无误,阐述充实

10

搭建FTP服务器

流程无误,阐述充实

5

Linux环境C语言编程

程序无误,功能正确实现

15

合计

100

考核成绩

任课教师签名

复核人签名

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1