1、linux系统应用实践考核设计说明书linux下的服务器创建与c程序设计大学论文Linux系统应用实践考核设计说明书项目名称: Linux下的服务器创建与C程序设计 Linux操作系统课程设计说明书第一章 绪论1.1 RHEL6系统介绍红帽RHEL6特别注意了可扩展性和灵活性,该版本可以支持物理、虚拟和云系统。模糊了虚拟、物理和云计算之间的界线,以适应当代IT环境中发生的转变。此外,内核得到了改进,加强了更多闲置时间的利用率,可以有效降低功耗对于大型企业巨额的电费账单而言无疑是个好消息,整个地球的节能问题当然也会受益匪浅。1.2 Ubuntu系统介绍Ubuntu(乌班图)是一个以桌面应用为主的
2、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,并在服务器上存放一个静态网页实现的网
3、站,在学校局域网内,能在其他电脑上通过IP地址浏览该网站。配置RHEL系统的SSH服务器工具OpenSSH与FTP服务器工具vsftpd,在学校局域网内,能在其他电脑上使用相关工具通过IP地址登录该服务器。2作品要求设计流程规范详细、步骤高效合理、内容充分全面,充分运用所学的知识对网络、WEB服务器、SSH服务器、FTP服务器进行正确配置。设计过程中所涉及到的系统安装过程与配置信息需截图并进行简单阐述。项目二:基于Ubuntu系统的C程序设计1 考核要点(1) 使用VMware安装 Ubuntu系统。(2) 安装Vim编辑器、GCC编译器、GDB调试器、sublime编辑器。(3) 使用Vim
4、编译器或者sublime编辑器用C语言编写SHA数字签名的源程序,使用GCC编译通过并运行,当程序结果不正确时,使用GDB进行调试。2作品要求设计流程规范详细、步骤高效合理、内容充分全面。系统和软件的安装过程、C程序编辑、编译、调试、执行结果等需截图并进行简单阐述。第三章 考核详细设计3.1 涉及工具介绍Audacious: Audacious是一款Linux下的音乐播放器,与其它播放器的不同之处在于,它除了支持UTF-8字符集之外,还提供其它字符集的支持,这样能比较好的解决中文乱码的问题。Vlc:VLC多媒体播放器(最初命名为VideoLAN客户端)是VideoLAN计划的多媒体播放器。它支
5、持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光盘及各类流式协议。它也能作为unicast或 multicast的流式服务器在IPv4或 IPv6的高速网络连接下使用。它融合了FFmpeg计划的解码器与libdvdcss程序库使其有播放多媒体文件及加密DVD影碟的功能。Vim:Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。GCC:GNU编译器套件(GNU Compiler Collection)包括C、C+、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言
6、的库(如libstdc+、libgcj等等)。GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由。GDB: UNIX及UNIX-like下的调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。Sublime: Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Subli
7、me Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API ,Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。3.2 RHEL6及工具安装选择自定义安装,然后选择提前下载好的镜像文件rhel-server
8、-6.5-i386-dvd.iso。下一步设置用户名和密码下一步分配内存安装中中途提示按F12接着进行安装安装成功输入设好的密码进行登录3.3 配置WEB服务器为了使服务器开通HTTP服务后能够运行PHP编写的交互程序,安装PHP(第一步装了),为了使PHP执行效率增高,安装Zend。下载ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz 并解压安装执行 # tar -zxvf ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz 进入ZendOptimizer-3.2.6-linux-glibc21-i386 并执
9、行# ./install .sh编辑Apache的配置文件# vi /etc/httpd/conf/httpd.cong将OS改成Prod,保存退出# chkconfig httpd on设置http服务自动启动# chkconfig -list httpd查看http端口开启服务情况#/etc/rc.d/init.d/httpd/httpd start启动http服务# ps -ef |grep httpd查看http是否运行# vi /var/www/html/index.html编辑网页并设置内容保存并退出在linux下测试http成功!在win10下测试首先开启允许对外访问的网络端口在
10、win10的服务项中找到Device Install Service并启动进入虚拟网络编辑器出现vmnet0点击后选择桥接模式选择Real与win10下的网卡一致右击网络(电脑)点击第四个编辑链接点击system eth0 继续点ipv4协议Ip地址:192.168.110.12 子网掩码:255.255.255.0 网关:192.168110.1应用在linux下端口ping 192.168.110.12,测试是否连通在win10 cmd中ping 192.168.110.12,测试是连通成功!在win10下网页测试成功! 3.4 配置SSH服务器安装ssh# yum install ope
11、nssh-* -y创建用户user1设置密码1234 生成密钥文件# ssh-keygen -t rsa密码设置:1234修改配置文件# vi /etc/ssh/ssh-config,将NO改为YES,保存退出重启ssh并关闭防火墙在win10下用xshell测试成功! 3.5 配置FTP服务器登录系统输入# yum install httpd vsftpd mysql mysql-server php php-mysql输入y,出现complete!就说明成功了。设置开机启动输入# chkconfig httpd on、# chkconfig vsftpd on、# chkconfig my
12、sqld on检查服务配置状况输入# chkconfig2/3/4/5均为on(开启)开启服务# service httpd start开启服务# service vsftpd start开启服务# service mysqld start添加webftp用户组,用来承载我们的FTP授权用户# groupadd webftp在webftp用户组继续添加wwwer,他也不设置主目录,不需要登录系统(/sbin/nologin),设定他的初始登入目录(/var/www)# useradd -g webftp -M -d /var/www -s /sbin/nologin wwwer在webftp用
13、户组继续添加htmler,他也不设置主目录,也不需要登录系统,设定他的初始登入目录(/var/www/html)# useradd -g webftp -M -d /var/www -s /sbin/nologin htmler为wwwer、htmler设置密码# passwd wwwer(输入两次,我的密码是1)# passwd htmler(输入两次,我的密码是2)更改/var/www目录及其下所有文件和文件夹的所有者为webftp用户组下的wwwer# chown -R wwwer.webftp /var/www更改/var/www/html目录及其下所有文件和文件夹的所有者为webft
14、p用户组下的htmler# chown -R htmler.webftp /var/www/html进入编辑模式# vi /etc/vsftpd/vsftpd.conf 将anonymous_enable=YES改为anonymous_enable=NO(不启用匿名用户)列出所有selinux全部ftp策略# getsebool -a | grep ftp允许FTP完全访问# setsebool allow_ftpd_full_access on插入防火墙规则,这条规则是所有INPUT到服务器的包# iptables -I INPUT -p tcp -dport 80 -j ACCEPT(这里
15、的包为tcp,目标端口为80,)# iptables -I INPUT -p tcp -dport 21 -j ACCEPT(接受所有要到达目标端口21的tcp包)# modprobe ip_conntrack_ftp(载入IP连线跟踪模块)匿名登录在/var/ftp/pub目录下创建一个名为test.txt的文件更改默认下载路径重启ftp,之后执行# setenforce 0查看地址# ifconfig,addr:192.168.215.128在Windows cmd中链接测试ftp 192.168.215.128在浏览器中测试结果下载 本地用户测试取消匿名登录方式# anonymous_e
16、nable=NO(默认的为YES)创建用户# useradd zlr# passwd 1(再次输入相同密码)再修改配置文件vsftpd.conf去掉下图中#chroot_list_enable=YES、#chroot_list_file=/etc/vsftpd/chroot_list的注释(#)在/etc/vsftpd下创建一个文件vim chroot_list,编辑内容为zlr。关闭selinux # cd /etc/selinux、#vim config 修改SELINUX为disabled执行# setenforce 0,重启# service vsftpd restart浏览器中测试成
17、功!3.6 Ubuntu及工具安装先下载好镜像文件ubuntu-14.04.1-desktop-amd64.iso然后自定义安装新虚拟机设置账户信息分配磁盘空间安装成功安装Vim安装GCC、GDB安装Sublime完成3.7 C语言程序设计用vim创建一个sha1.c文件。宏定义5组函数和4个常量,方便算法调用。通过算法得出80个w的值。输入需要计算签名的数值,判断其位数,再对数据进行填充与处理。通过4组循环得到最后的签名。运用gcc,gdb对程序进行编译。编译调试完成后,执行程序。 得到abc相应的hash value。 用vim编写一个check.txt文件,在其中输入abc,通过sha1
18、sum进行检测,比对后,两者结果相同,算法正确。第四章 总结与心得经过一个学期的学习,是我对Linux有了大致的了解,并且学会了如何去使用和操作它。在本次实践报告中,我也学会了许多课堂上没有讲到的一些东西,刚开始做时,感觉压力较大,因为英语水平太低好多命令很难记住,出现了错误也需要用XX翻译来翻译后才知道具体是哪里出了问题。但后来就好了,熟悉了就做的比较快了。在配置服务时,刚开始配置WEB就碰到了问题,中途一直失败,找了半天也命令也没错,后来想起来中途关了一次机,在主机上没有开将VMware的网络打开,然后接下来就比较顺利了,配置过程都是通过XX来一点点了解然后配置完成的,感觉自己的耐心得到了
19、锻炼,也提高了自己的自学能力。总体来说,在整个设计过程中,完事开头难,刚开始在网上搜一些教程时比较困难,但只要弄懂了就很简单了,通过这次实践过程让我们提高了实践能力,增强了学习的自信,也更加的熟悉Linux,在接下来还得继续学习它,增强自己的专业能力。参考文献1吕士革. 基于CentOS Linux的Web服务器的安装配置J. 中国信息技术教育,2009,21:82-83.2鸟哥. 鸟哥的Linux私房菜:服务器架设篇j. 机械工业出版社,2012附录一 完整程序代码1.SHA1程序代码#include#include#define K0 0x5a827999#define K1 0x6ed9
20、eba1 #define K2 0x8f1bbcdc #define K3 0xca62c1d6#define ROTL(datas,bits) (datas)(32-(bits)#define F0(x,y,z) (x) & (y)|( x )&( z ) #define F1(x,y,z) (x)(y)(z) #define F2(x,y,z) (x)&(y)|(x)&(z)|(y)&(z) #define F3(x,y,z) (x)(y)(z)void creatW(unsigned char m64,unsigned long w80) int i,j; for(i=0;i16;i+)
21、 j=4*i; wi=(long)mj)24 |(long)mj+1)16 |(long)mj+2)8 |(long)mj+3)0; for(i=16;i80;i+) wi=ROTL(wi-16wi-14wi-8wi-3),1); char work(long a,char m64) unsigned long t,p; int i,j; t=0; p=(t8); for(i=0;i4;i+) j=i*8; m63-i=(char)(a&(pj); return 0;int main(int argc,char *argv) unsigned long H0=0x67452301, H1=0x
22、efcdab89, H2=0x98badcfe, H3=0x10325476, H4=0xc3d2e1f0; unsigned long a,b,c,d,e,T; int i; unsigned long w80; unsigned char m64; long x; int n; printf(please input value:n); scanf(%s,m); n=strlen(m); if(n57) x=n*8; work(x,(char *)m); if(n=56) for(i=n;i64;i+) mi=0; else mn=128; for(i=n+1;i64;i+) mi=0;
23、creatW(m,w); printf(n); a=H0; b=H1; c=H2; d=H3; e=H4; for(i=0;i20;i+) T=ROTL(a,5)+F0(b,c,d)+e+wx+K0; e=d; d=c; c=ROTL(b,30); b=a; a=T; for(;i40;i+) T=ROTL(a,5)+F1(b,c,d)+e+wx+K1; e=d; d=c; c=ROTL(b,30); b=a; a=T; for(;i60;i+) T=ROTL(a,5)+F2(b,c,d)+e+wx+K2; e=d; d=c; c=ROTL(b,30); b=a; a=T; for(;i80;
24、i+) T=ROTL(a,5)+F3(b,c,d)+e+wx+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文档格式文档格式无误10RHEL6和Ubuntu系统安装流程无误,阐述充实10使用Linux基本命令Linux基本命令使用无误15Linux软件安装流程无误,阐述充实10搭建WEB服务器流程无误,阐述充实10搭建SSH服务器流程无误,阐述充实10搭建FTP服务器流程无误,阐述充实5Linux环境C语言编程程序无误,功能正确实现15合计100考核成绩任课教师签名复核人签名
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1