当前位置:文档之家› linux上机实验报告

linux上机实验报告

l i n u x上机实验报告 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT
Linux课程综合训练上机报告
一、实验目的
熟练掌握Linux操作系统的使用,掌握Linux的各项系统管理功能,掌握Linux下各类网络服务的安装、配置以及使用,并能用shell脚本实现简单的管理任务。

二、实验内容
准备工作:利用虚拟机安装Linux操作系统,要求对/home目录单独分区,在系统中安装适当的软件包以备后续的实验需要,可关闭防火墙和SeLinux。

完成安装后将/root中的文件的内容附到报告中。

(5分)
1.查看Linux系统磁盘空间的使用情况(给出显示结果)(3分)在命令行新建几个用户,如tux,tom,lily等,给每个用户创建密码,测试各个用户是否创建成功。

(2分)
并为/home分区创建磁盘配额,使得你所创建的每个用户的可用空间的软限制为100M,硬限制为150M,且每个用户可用的inodes 的软限制为300,硬限制为400。

试编写shell测试脚本验证你的磁盘配额设置。

(10分)
2. 配置网络,并进行检测,确保能够在本地网络中联网通信(给出网络接口配置文件ifcfg-eth0)。

(5分)
假设本地网络中大部分客户端是windows系统,请建立Linux Samba 服务器使得windows客户端能够共享Linux服务器的资源,具体要求如下:创建一个共享文件夹/home/Public,使得所有用户都可以匿名访问(可读写)。

(5分)
每个用户可以访问自己的主目录,具有完全权限,采用用户验证的方式;(5分)
为用户tux和tom创建一个共享目录/home/share,可供这两个用户进行文件的共享(可读写);(5分)
测试:使用smbclient客户端程序登录Samba服务器,访问服务器中的共享资源。

注:以上用户以及文件夹需要自己创建,并使之具有适当的权限。

实验报告中需要给出配置文件及相关的运行结果。

3.请思考如下场景并考虑解决方案:
Root用户有事外出,委托tux进行必要的系统维护工作,使得tux虽然并不具备管理员权限但能进行诸如shutdown,httpd,samba 等服务的管理工作(如启动,关闭,重启等)。

以其中一个服务为例来验证你的方法并给出运行结果。

(10分)
4.配置Apache服务器,允许每个用户拥有自己的个人主页。

制作你的个人主页,并给出你的个人主页显示结果。

(10分)
5.备份数据是系统应该定期执行的任务,请编写shell脚本执行数据备份的功能,并使用cron服务在每周五下午3:00对某用户主目录下的文件进行备份。

(10分)
6. 假设你的Linux系统作为DNS服务器使用,请根据以下要求配置成DNS主服务器。

所管理的域名为域,其网络为,给出DNS配置文件;(5分)
在正向解析域文件中建立以下资源记录(5分)
IN dns
IN A
IN A
IN A
建立反向解析域文件,实现上述地址的反向解析(5分)
使用nslookup或dig进行测试,并给出测试结果。

(5分)
7.在Linux环境下编写C或C++程序实现简单的计算器功能(+、-、*、/、mod、开平方、log等功能),并在Linux下进行编译和运行,要求使用Makefile文件实现程序的编译、安装和卸载。

(报告中给出源代码、Makefile文件、make运行结果以及程序运行结果)。

(10分)
三、题目分析及运行过程分析
在安装的过程中,为/home目录单独分区,其设置窗口如下:
安装完成后,/root中的文件的内容如下所示:
1.查看Linux系统磁盘空间的使用情况,结果如下所示
在命令行新建几个用户,如tux,tom,lily等,给每个用户创建密码,如下所示:
在登录窗口检验结果:
为/home分区创建磁盘配额,使得你所创建的每个用户的可用空间的软限制为100M,硬限制为150M,且每个用户可用的inodes的软限制为300,硬限制为400。

首先,修改/etc/fstab文件,结果如下:
然后在终端输入如下的命令:
使用vi编辑器进行修改:
生成报告:
2配置网络,并进行检测,确保能够在本地网络中联网通信配置文件ifcfg-eth0的内容如下所示:
假设本地网络中大部分客户端是windows系统,请建立Linux Samba 服务器使得windows客户端能够共享Linux服务器的资源,具体要求如下:
创建一个共享文件夹/home/Public,使得所有用户都可以匿名访。

配置文件如下:
相关运行结果如下:
每个用户可以访问自己的主目录,具有完全权限,采用用户验证的方式;
配置文件如下:
相关运行结果如下:
用户tux:
为用户tux和tom创建一个共享目录/home/share,可供这两个用户进行文件的共享(可读写);
配置文件如下:
相关运行结果如下:
用户tux:
3.请思考如下场景并考虑解决方案:
Root用户有事外出,委托tux进行必要的系统维护工作,使得tux 虽然并不具备管理员权限但能进行shutdown操作。

在etc/sudoers中添加语句:
tux localhost=/sbin/shutdown –h now
然后执行下列语句:
输入密码后就可以执行关机操作了
4.配置Apache服务器,允许每个用户拥有自己的个人主页。

制作你的个人主页,并给出你的个人主页显示结果。

(10分)
首先,启动http服务:
修改/etc/httpd/conf/的内容如下:
在文件的末尾加上下面的内容:
重启httpd服务
启动浏览器,在地址栏中输入
,可以设置每一个用户的个人主页。

5.备份数据是系统应该定期执行的任务,请编写shell脚本执行数据备份的功能,并使用cron服务在每周五下午3:00对某用户主目录下的文件进行备份。

在/home/tux下创建tocopy和copy文件夹,并创建脚本,编辑内容如下:
运行脚本:
运行结束后copy中内容为:
成功!
然后对cron服务器进行配置:
在终端输入下面的命令:
使用vi编辑器编辑:
保存后就可以实现自动备份的功能了。

6.按要求配置成DNS主服务器。

1.所管理的域名为域,其网络为,给出DNS配置文件
配置文件如下所示:
2.在正向解析域文件中建立以下资源记录(5分)IN dns IN A
IN A
IN A
在/var/named/下建立文件:
3. 建立反向解析域文件,实现上述地址的反向解析在/var/named/下建立文件:
4.使用nslookup或dig进行测试,并给出测试结果。

使用nslookup命令进行测试:
以为例进行测试,结果如下:
从结果中可以看出,DNS主服务器配置成功
7.Linux环境下编写C或C++程序实现简单的计算器功能(+、-、*、/、mod、开平方、log等功能),并在Linux下进行编译和运行,要求使用Makefile文件实现程序的编译、安装和卸载。

首先,在/home/fanjiaqi下建立文件calculator和Makefile如下:
在中输入如下:
在Makefile中输入如下:
在终端中执行如下的操作,可以对程序进行验证:
程序的卸载:
执行信息显示操作成功!
四、出现的问题及解决方法
1、在解决第一个问题的时候,使用quotacheck /home,曾出现了
下面的问题:
后来通过询问别人,发现是有进程在访问/home文件夹,通
过kill语句把相应的进程结束后就可以正常使用了。

2、在解决第四个问题的时候,使用yum install httpd语句时,不
能正确的下载,后来通过上网和请教别人发现是fedora的源
出现了错误,使用sjtu的源就可以解决问题了。

3、在解决最后一个问题的时候,一开始以为是g++命令,所以执
行以下的命令时出错:
后来,通过上网查询,发现应该使用yum install gcc-g++命
令,修改后可以正确安装。

在实验的过程中还出现了很多的小问题,我感觉上网搜索是一个解决问题的好方法,可以很大程度上节省精力和时间。

五、实验体会
通过本次实验,我进一步了解了linux操作系统各种命令的使用,对系统的各种文件有了进一步的认识。

由于经验的不足,在实验的过程中,出现了很多的问题,但都通过上网或者请教别人的方式解决了,这也让我对linux的使用中各种故障产生的原因和解决方法有了深入的了解。

课堂上学习的知识在实践中得到了验证,使我加深了对他们的理解,同时也对linux系统的兴趣进一步加深。

感谢老师平时的耐心指导。

相关主题