《Linux操作系统》课程设计任务书Word格式.docx

上传人:b****4 文档编号:17842302 上传时间:2022-12-11 格式:DOCX 页数:21 大小:1.18MB
下载 相关 举报
《Linux操作系统》课程设计任务书Word格式.docx_第1页
第1页 / 共21页
《Linux操作系统》课程设计任务书Word格式.docx_第2页
第2页 / 共21页
《Linux操作系统》课程设计任务书Word格式.docx_第3页
第3页 / 共21页
《Linux操作系统》课程设计任务书Word格式.docx_第4页
第4页 / 共21页
《Linux操作系统》课程设计任务书Word格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

《Linux操作系统》课程设计任务书Word格式.docx

《《Linux操作系统》课程设计任务书Word格式.docx》由会员分享,可在线阅读,更多相关《《Linux操作系统》课程设计任务书Word格式.docx(21页珍藏版)》请在冰豆网上搜索。

《Linux操作系统》课程设计任务书Word格式.docx

要求学生能够利用shell脚本编程实现较为基本的功能。

2.设计内容

在主Shell脚本文件里(必须以menu命名)要有一个多操作选项的菜单以便用户从中选择。

在不同任务的中,这些操作能自动实现以下功能:

1)在屏幕上显示当前所有用户的记录

2)在屏幕上显示当前所有用户(经过格式化和排序的)的记录

3)只在屏幕上显示用户名和用户ID

4)只在屏幕上显示(经过格式化和排序的)用户名和用户ID

5)查询并显示特定用户的记录

6)往passwd文件里增加新的用户记录

7)从passwd文件里删除某个用户记录

在目录下有四个文件分别为menu,passwd,add,delete

注:

●passwd是自建数据文件,而不是/etc/passwd这个文件,切记。

●menu、add和delete是shell脚本文件。

passwd文件中的内容具体形式如下所示:

root:

x:

0:

/root:

/bin/bash

linux:

500:

/home/linux:

lianmin:

503:

/home/lianmin:

如果,你选择此设计题目,请在passwd文件中,模仿以上形式,添加以你学号和姓名拼音为账户的两行记录,具体添加模式如下:

你的学号:

1000:

something:

/home/你的序号:

姓名的拼音:

1001:

/home/姓名的拼音:

注意,这里添加这些类似系统用户的信息,并不是真实与用户关联的,这里只是用来进行测试shell脚本功能的数据信息而已。

1)menu脚本执行后,大概应该呈现为下图所示的情况:

假如,passwd文件中的内容如下所示:

080510001:

800:

/home/080510001:

zhangsan:

801:

/home/zhangsan:

2)选择菜单1时,显示的结果大概如下图所示:

3)选择菜单2时,显示的结果大概如下图所示:

4)选择菜单3时,显示的结果大概如下图所示:

5)选择菜单4时,显示的结果大概如下图所示:

6)选择菜单5,并输入需要查询的用户名时,显示的结果大概如下图所示:

7)选择菜单6,显示的结果大概如下图所示:

完成添加用户后,在调用菜单2应该能够看到新添加用户mycount的信息条目。

8)选择菜单7,通过用户ID来删除用户,显示的结果大概如下图所示:

3.设计环境

●vmware8虚拟环境、

●Ubuntu虚拟操作系统

●bash或其他shell脚本环境

4.设计提示

1)menu脚本框架提示:

#!

/bin/bash

record_file=passwd

add_file=add

delete_file=delete

a="

你的选择是:

"

b="

输入关键字是:

clear

whiletrue

do

echo"

==========信息主菜单======================="

……

echo-e"

你的选择是:

(等待用户输入)"

echo

readchoice

$a$choice"

case$choicein

1)…..

2)…..

3)…..

4)…..

5)

whiletrue

do

请输入要查询的用户名:

readanswer

$b$answer"

if(test-z"

$answer"

then

你还没有输入"

continue

elif

(testhead$record_file|grep-iw$answer)#-i不区分大小写-w全符合

then

echo"

"

break

else

你输入的用户不存在,没有找到$answer"

break

fi

done;

;

6)source$add_file;

7)source$delete_file;

q)exit;

Q)exit;

*)echo"

无效的代码"

esac

请按回车继续..."

done

2)add脚本编写提示:

该脚本实现与用户的交互式添加用户信息,包括需要添加用户的:

用户名、用户密码、用户ID、组ID、全名、用户家目录、登录shell类型。

对于每一项信息需要进行单独的读取和必要验证。

下面给出添加用户名的相关代码示例:

echo-n"

用户名:

readnewname

while(test-z$newname)

没有输入用户名"

echo-n"

readnewname

until[`echo$newname|grep'

^[a-zA-Z]*$'

`]||[`echo$newname|grep'

^[0-9][0-9]*$'

^[a-zA-Z0-9]*$'

`]

do

用户名只包含字母和数字!

done

3)delete脚本编写提示:

delete脚本通过用户ID,找到passwd文件中对应用户ID的记录,并将其删除。

同时要考虑到用户可能误操作,因此要在真正删除用户信息前,进行用户确认,如果用户不确认删除,那么就不能将用户信息记录从passwd中删除。

这就需要一个临时文件进行辅助,将删除后的效果保存于该临时文件中,只有用户确认删除后,再将临时文件内容写入到passwd文件。

否者保持passwd内容不变。

注意:

本设计题目中是对一个自建的passwd文件,而非/etc/passwd文件进行的操作。

如果在真实的环境中,要实现用户信息管理所需要考虑的事情要多的多。

比如:

文件访问权限问题、用户在系统中拥有的文件资源如何删除等。

设计内容二LAMP开发环境搭建与应用

Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。

从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.

本设计课题期望学生能够在Ubuntu系统中搭建起一个LAMP开发环境,并完成编写一个网页,该网页中的内容应包含:

学生的个人简单信息、服务器系统相关信息等内容。

1)在虚拟机环境中的Ubuntu系统中成功搭建LAMP开发环境。

2)编写一个网页,该网页能够显示完成本设计的学生信息以及apache服务器的相关信息。

3)可以在宿主机,即虚拟机运行系统中通过域名方式访问该网页。

●运行于window系统下的vmware虚拟机环境

●运行于vmware虚拟机环境环境中的Ubuntu操作系统

●Linux系统的DNS服务配置套件bind9

4.设计提示:

1)LAMP开发环境搭建

(1)安装MYSQL

sudoapt-getinstallmysql-server

sudoapt-getinstallmysql-client

安装过程中会要设置用户名和密码,设置后要记住,后面会使用。

(2)安装Apache

sudoapt-getinstallapache2

(3)安装PHP

sudoapt-getinstallphp5

sudoapt-getinstalllibapache2-mod-auth-mysql

sudoapt-getinstallphp5-mysql

(4)设置Ubuntu文件执行读写权限:

LAMP组建安装好之后,PHP网络服务器根目录默认设置是在:

/var/www。

由于Linux系统的安全性原则,该目录下的文件读写权限是只允许root用户操作的,所以我们不能在www文件夹中新建php文件,也不能修改和删除,必须要先修改/var/www目录的读写权限。

在界面管理器中通过右键属性不能修改文件权限,得执行root终端命令:

sudochmod777/var/www。

然后就可以写入html或php文件了。

或者:

Ø

suroot(用root用户)

chownusername/var/www(将username替换为您当前用户的用户名)

exit或者ctrl+d(退出root)

如果,ubuntu系统root用户还不可用,那是因为ubuntu系统默认root密码为空,您可以通过如下命令设置密码:

sudopasswd-lroot

(5)安装phpmyadmin-Mysql数据库管理

sudoapt-getinstallphpmyadmin

在安装过程中会要求选择Webserver:

apache2或lighttpd,选择apache2,按tab键然后确定。

然后会要求输入设置的Mysql数据库密码连接密码。

然后将phpmyadmin与apache2建立连接,例如:

www目录在/var/www,phpmyadmin在/usr/share/phpmyadmin目录,所以就用命令:

sudoln-s/usr/share/phpmyadmin/var/www建立连接。

在浏览器地址栏中打开http:

//localhost/phpmyadmin,测试是否工作正常。

(6)检测Apache是否正常

在浏览器中打开:

http:

//localhost/

如果出现如下信息,则表明正常。

(7)检测PHP是否正常

Ubuntu下Apache的默认安装路径为/var/www/,到其目录下新建info.php文件,文件内容为:

<

?

phpphpinfo();

?

>

然后在浏览器中打开:

//localhost/info.php看是否正常。

如果现实类似如下图所示状态表示PHP运行正常。

在该目录直接新建文件是没有权限的,为其增加当前用户权限。

(8)检测MySql是否工作正常

上面php,Apache都已经测试过了,下面再测试一下Mysql数据库是否已经正确启用。

在/var/www目录下新建mysql_test.php:

<

php

$link=mysql_connect("

localhost"

"

root"

123456"

);

if(!

$link)

{

die('

Couldnotconnect:

'

.mysql_error());

}

elseecho"

Mysql已经正确配置"

mysql_close($link);

如果在浏览器中能够显示上图所示结果,就表示mysql运行正常。

(9)解决Firefox浏览器显示中文乱码等问题

上面在FireFox浏览器中打开mysql_test.php或phpmyadmin测试时,如果出现了中文乱码,则是默认语言设置问题,解决方法如下:

打开apache配置文件:

udogedit/etc/apache2/apache2.conf,在最后面加上:

AddDefaultCharsetUTF-8,如果还是乱码的,再将UTF-8改用gb2312。

重启Apache:

sudo/etc/init.d/apache2restart再刷新mysql_test.php中文乱码没有了。

如果要人工启动mysql:

mysql-uroot-p,根据提示输入密码。

如果重启Apache时出现:

*Restartingwebserverapache2

apache2:

Couldnotreliablydeterminetheserver’sfullyqualifieddomainname,using127.0.1.1forServerName

则还是修改apache配置文件:

sudogedit/etc/apache2/apache2.conf,在文件最后设置:

ServerName127.0.0.1

2)PHP网页设计

此次需要编写的php网页文件,通过浏览器显示需要达到如下图所示的效果:

获取以上部分系统信息的php语句如下所示:

1)服务器系统:

phpechodefined('

PHP_OS'

)?

PHP_OS:

'

未知'

2)服务器软件:

phpecho$_SERVER["

SERVER_SOFTWARE"

];

3)PHP版本:

phpechophpversion();

4)MySQL服务器:

phpechomysql_get_server_info();

5)服务器地址:

phpecho$_SERVER['

SERVER_ADDR'

6)服务器根目录:

DOCUMENT_ROOT'

7)服务器时区:

phpechodate("

T"

time())?

8)register_globals:

phpecho$onoff;

9)文件上传:

phpecho$upload;

10)用户主机名:

phpechogethostbyaddr($_SERVER['

REMOTE_ADDR'

]);

11)用户IP地址:

REQUEST_METHOD'

3)apache服务器的域名配置

由上一步骤中,我们可以看到apache服务器的ip地址为192.168.41.136。

而平时我们访问网页时通常是使用域名来进行的。

因此,在此也希望大家能够熟悉一下Linux系统下的DNS服务的配置方法。

对于上面配置的apache服务器,如果在没有配置域名解析服务时,通常我们访问apache服务器的方式通常是:

●远程访问:

//192.168.41.136

●本地访问:

//127.0.0.1或http:

//localhost

而在这里我们希望能够通过我们自己的域名来访问apache服务器。

大致网络环境描述如下:

●ubuntu系统的主机名为:

whpuser,

●Ubuntu系统的IP地址为:

192.168.41.136

●windows系统的实体网卡IP地址为:

192.168.1.102

●vmware的虚拟nat网卡:

vmnet8的IP地址为:

192.168.41.1

●自定义的域:

●web服务器的机器名:

www,即访问apache服务器的域名为。

具体配置方法提示:

Linux系统中DNS服务主要使用bind9套件进行配置,因此首先需要安装好bind9.

sudoapt-getinstallbind9

安装好bind套件后,可以使用ls-l/etc/bind命令查看该目录中的文件,可以看到其中包含的一些默认DNS配置文件,其中需要修改的文件为named.conf.local。

为了满足前面给出的网络环境描述,需要配置以下几个文件的内容:

(1)named.conf.local(这个是安装后已存在的文件)

//

//Doanylocalconfigurationhere

zone"

41.168.192.in-addr.arpa"

IN{

typemaster;

file"

/etc/bind/db.192.168.41"

};

1.168.192.in-addr.arpa"

/etc/bind/db.192.168.1"

/etc/bind/"

//Consideraddingthe1918zoneshere,iftheyarenotusedinyour

//organization

//include"

/etc/bind/zones.rfc1918"

以上斜体部分,是需要自行添加的内容。

下面根据上面添加内容中有下划线部分的文件路径指定的文件,需要自行创建和编辑内容。

(2)db.192.168.41

db.192.168.41

$TTL604800

@INSOA..(

1;

serial

604800;

refresh

86400;

retry

2419200;

expire

604800);

negativecacheTTL

@INNS.

136INPTR.

1INPTR.

(3)db.192.168.1

db.192.168.1

2419200;

102INPTR.

(4)

refresh

whpuserINA192.168.41.136

wwwINCNAMEwhpuser

windowINA192.168.41.1

window1INA192.168.1.102

编辑好以上文件文件后,需要重启bind9服务:

sudo/etc/init.d/bind9restart

通过以下命令查看服务启动中是否有错误:

tail/var/log/syslog

如果没有本质错误应该出现下图所示情况:

使用nslookup命令的交互式方式检验域名正向解析和反向解析是否正常:

以上内容成功后,应该能够使用域名在虚拟机环境运行的ubuntu中访问apache服务器,同时也能在运行虚拟机vmware的windows环境中通过域名来访问ubuntu系统中的apache服务器的网页(前提是需要将网卡的中IP配置中的主dns配置为ubuntu系统的IP地址)。

执行效果大致如下图所示:

●在Ubuntu系统中访问:

●在windows系统中访问:

六、设计要求

1.上机前请认真查询资料,并认真完成课程设计内容和报告编写工作;

2.上机时要保证到课率,并认真进行课程设计要求的内容;

3.任务完成时报告老师,上机验收运行结果,现场提问;

4.根据具体任务要求,提交源程序电子档和纸质课程设计说明书。

说明书中除了在封面应有题目、班级、姓名、学号和课程设计日期以外,其正文一般应包括:

1)课程设计目的

2)课程设计内容

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

当前位置:首页 > 工程科技 > 环境科学食品科学

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

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