当前位置:文档之家› Linux课程综合训练实验报告

Linux课程综合训练实验报告

Linux课程综合训练实验报告姓名:***班级:软件94班学号:********一.实验目的熟练掌握Linux操作系统的使用,掌握Linux的各项系统管理功能,掌握Linux下各类网络服务的安装、配置以及使用,并能用shell脚本实现简单的管理任务。

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

完成安装后将/root中的anaconda-ks.cfg 文件的内容附到报告中。

(5分)实现过程:首先安装虚拟机VMware,然后在虚拟机里新建一个虚拟机,利用老师的光盘Fedora-10-i386-DVD.iso安装Linux操作系统,因为题目要求对/home目录单独分区,所以在安装时有个分区选项,默认是不打勾的,打勾后按下一步,会有个分区,在下拉列表框中选出/home,然后设置它的大小,默认是200mb的大小,我设置为5000mb。

在安装的最后新建了一个非管理员用户gui,密码123456,用于平时的登录。

附:anaconda-ks.cfg文件的内容关闭selinux需要修改/etc/selinux/config文件中的SELINUX="" 为disabled ,然后重启。

Linux关闭防火墙用chkconfig iptables off 命令。

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

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

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

(10分)实现过程:首先,查看Linux系统磁盘空间的使用情况用df这个命令。

显示结果如下:其次,新建几个用户和密码,所用的命令为useradd和passwd。

比如说我们新建2个用户,一个为tux,密码为09161071;另一个为tom,密码为09161071。

说明:在为用户创建密码时本来是想使用tux123这个密码的,但在实际实现中说它基于字典单词,没有实现,后来想用123456这个最常用的密码,系统提示太简单,也无法实现,最后使用了自己的学号作为密码。

这里说明linux在创建用户和密码时有一些基本的准则。

为/home分区创建磁盘配额,分为5步,第一步,开启quota功能。

要在/etc/fstab文件中设置配置文件,重新编写一行如下:LABEL=/home /home ext3 defaults,usrquota 1 1第二步,启动这个配置,用mount -o remount /dev/sda2第三步,产生quota文件,需要产生er文件,用quotacheck -avu 命令来检查要管理的文件系统,然后建立文件。

此时在home文件夹下已经有er文件了。

第四步,设置quota,按照题目要求每个用户的可用空间的软限制为100M,硬限制为150M,且每个用户可用的inodes的软限制为300,硬限制为400。

用edquota gui进行修改,修改如下:第五步,将所有用户都设置为和gui一样的配置。

用edquota -p命令实现。

然后用repquota -a查看所有的用户配额。

如下:(3)题目2:配置网络,并进行检测,确保能够在本地网络中联网通信(给出网络接口配置文件ifcfg-eth0)。

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

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

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

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

实现过程:第一个网卡的名称为eth0,用ifconfig eth0 115.154.65.237给自己的网卡IP地址。

网络接口配置文件ifcfg-eth0如下:第一步,检测samba服务器是否安装,用命令rpm -qa|grep samba 发现并没有安装,于是cd到相应目录下进行安装,具体如下:说明:在安装的时候出现了依赖关系,无法实现安装,上网查知有一个--nodeps的命令可以取消依赖关系,这样才安装成功。

检查如下:第二步,在/home文件夹下新建/public文件夹,用于所有用户都可以匿名访问(可读写)。

再新建一个/homes文件夹,用于访问自己的主目录,再新建一个/share文件夹,用于tux和tom用户共享。

第三步,修改/etc/samba/smb.conf配置文件,具体修改如下:说明:writeable = yes表示用户可以写;browseable = yes表示可以浏览。

第四步,启动samba服务,以及添加sanba用户tux,tom,gui,密码为09161071,用smbpasswd -a tux添加。

第五步,进行实际检查,可是发现并没有实现,截图如下,因为自身知识薄弱,纠错能力有限,导致并没有成功运行。

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

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

(10分)实现过程:Root用户外出,委托tux进行必要的系统维护工作,可以使用sudo指令,sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。

这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。

操作分为3步,如下:第一步:检测sudo是否安装。

显示已经安装。

第二步,配置/etc/sudoers文件,需要用visudo,用vi编辑器进去是只读文件,无法修改。

在这个题目,我们假设给tux用户能进行shutdown和reboot服务的权限,修改配置文件如下:(说明:在root后面加上NOPASSWD:可以在最后tux用户使用命令的时候不用每次输入密码了)Tux ALL=(root)NOPASSWD:/sbin/shutdown,/sbin/reboot第三步,切换至tux用户,执行shutdown操作和reboot操作。

出现的问题:在编写配置文件的时候遇到了很大问题,因为配置文件中的模版相对比较模糊,查了大量资料才基本摸清了语法结构,相信在以后的这方面会比较熟手了。

还有在写配置文件时,后面的一定要用绝对路径,这点很重要。

(5)题目4:配置Apache服务器,允许每个用户拥有自己的个人主页。

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

(10分)实现过程:第一步,检查是否安装httpd,来启动apache服务第二步,我要实现的gui的用户的个人主页,所以先修改/home文件下的gui文件夹的权限,是其他用户具有读和执行的权限。

第三步,创建存放个人主页的目录public_html第四步,创建个人主页空间首页的默认首页index.htmlEcho "this is gui's personal web">>index.html第五步,修改/etc/httpd/conf/httpd.conf中的配置文件,截图如下:第六步,重启httpd服务,即可访问自己的网站,用http://localhost/~gui/访问。

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

(10分)实现过程:第一步,检测是否安装cron来实现cron服务。

第二步,检查该服务是否在运行。

使用 /sbin/service crond status 命令。

第三步,在usr文件夹里建立文件backup.sh。

第四步,编辑backup.sh第五步,修改配置文件/etc/crontab,截图如下:说明:系统会在每周五下午3点发一封电子邮件给root用户,显示已经进行了备份。

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

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

(5分)实现过程:第一步,检测是否安装bind,如若没有,安装bind。

第二步,配置/etc/named.conf文件,截图如下:第三步,配置/var/named/.zone.db文件,截图如下:第四步,配置/var/named/3.168.192.db文件,截图如下:第五步,启动named服务。

Service named start出现的问题:我仔细检查了每个配置文件的书写,可是并没有发现错误。

但是在启动服务的时候显示我无法匹配到配置文件,可能这方面还有没考虑到的,最后没有实现完整的过程,错误如下:(8)题目7:在Linux环境下编写C或C++程序实现简单的计算器功能(+、-、*、/、mod、开平方、log等功能),并在Linux下进行编译和运行,要求使用Makefile文件实现程序的编译、安装和卸载。

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

(10分)实现过程:三.实验体会通过这个实验报告的书写,对平时上机所学的知识有了一个系统的总结,明白了linux的基本内容。

在试验的过程中,还是遇到很大的困难。

在完成每个问题时,都查阅了大量资料,确保自己做的正确。

其实这些题上课老师都大致演示过。

不过一是因为上课没有好好听讲,二是因为动手解决问题和实际操作linux的能力比较差。

相关主题