RH131考试题 (终于可以松口气了)

RH131的考试题

前提:

一、每位同学的IP地址为172.16.X.1, 子网掩码为255.255.0.0,网关为172.16.0.1,DNS服务器为172.16.0.1,主机名为stuX.magedu.com,其中X为你的座位号;

二、yum源为http://172.16.0.1/yum/{Server,Cluster,ClusterStorage,VT,errata};

 

1、安装操作系统,要求:

  1)新建一个虚拟机,要求内存大于等于512M,虚拟SCSI磁盘大小为320G,有两块网卡:第一块网卡为桥接模式,第二块网卡为仅主机模式;

  2)下载ftp://172.16.0.1/pub/images/boot.iso文件至物理机,并以之作为启动盘启动安装过程;

  3)在安装启动界面boot:提示符后面输入(引号里面的内容):"linux  ip=172.16.X.1 netmask=255.255.0.0 gateway=172.16.0.1 dns=172.16.0.1 ks=http://172.16.0.1/exam.cfg"

  4)安装完成后需在事先排除系统故障,而后继续后面的题目;

   a) root用户密码未知,需要修改为你所需要的密码;

   b) grub损坏;

   c) 系统会莫名其妙地重启;

 排除故障的过程:

   1、在boot:后输入linux rescue 进去救援模式

   2、之后就是一些命令

      #chroot /mnt/sysimage

      #vim /etc/inittab 把级别3后面改为对应的3 级别5改为对应的5

      #vim /etc/rc.local 中的 把里面的shutdown -r now 注释掉或者直接删掉

      # passwd 

      #vim /etc/grub.conf

 

     #cp /etc/grub.conf  /boot/grub/grub.conf

     #grub  进入grub

     #root (hd0,0)

     #setup (hd0)

     退出grub

     # vim /etc/sysconfig/network-scripts/ifcfg-eth0

 

 

2、创建一个空间大小为10G的RAID5设备;其chuck大小为32k;要求此设备开机时可以自动挂载至/backup目录;

[root@stu19 ~]# fdisk /dev/sda  4个5G的 fd 格式

[root@stu19 ~]# partprobe

[root@stu19 ~]# mdadm -C /dev/md1 -a yes -l 5 -n 3 -x 1 -c 32 /dev/sda{5,6,7,8}

[root@stu19 ~]# mdadm --detail /dev/md1 查看raid 详细信息

[root@stu19 ~]# mke2fs -j -L RIAD5 /dev/md1

[root@stu19 ~]# mkdir /backup

[root@stu19 ~]# vim /etc/fstab

LABEL=RAID5           /backup           ext3    defaults        0 0

[root@stu19 ~]# mount -a

[root@stu19 ~]# mount

 

3、创建一个由两个物理卷组成的大小为8G的卷组myvg,要求其PE大小为8M;而后在此卷组中创建一个大小为4G的逻辑卷lv1,此逻辑卷要能在开机后自动挂载至/users目录;

[root@stu19 ~]# fdisk /dev/sda 2个4G的 8e 格式

[root@stu19 ~]# partprobe

[root@stu19 ~]# pvcreate /dev/sda{9,10}

[root@stu19 ~]# vgcreate myvg -s 8M /dev/sda{9,10}

[root@stu19 ~]# lvcreate -n lv1 -L 4G -p rw myvg

[root@stu19 ~]# mke2fs -j -L lv1 /dev/myvg/lv1 

[root@stu19 ~]# mkdir /users

[root@stu19 ~]# vim /etc/fstab

LABEL=lv1           /users              ext3    defaults        0 0

 

4、完成以下任务:

  (1)新建系统组mysql;新建系统用户mysql,要求其没有家目录且shell为/sbin/nologin;

  (2)新建GID为600的组magedu;新建用户gentoo,要求其家目录为/users/gentoo,密码同用户名; 

  (3)新建用户centos,其家目录为/users/centos,密码同用户名;

  (4)新建用户www,其家目录为/users/www;

  (5)用户gentoo和centos均以magedu为其附加组;

       [root@stu19 ~]# vim useradd.sh

       #!/bin/bash

       useradd  -s /sbin/nologin -M mysql

       groupadd -g 600 magedu

       useradd -d /users/gentoo  gentoo

       echo gentoo | passwd --stdin gentoo

       useradd -d /users/centos centos 

       echo centos | passwd --stdin centos

       useradd -d /users/www www

       usermod -a -G magedu gentoo

       usermod -a -G magedu centos

 

5、创建一个2G的分区,文件系统为ext3,卷标为DATA,块大小为1024,预留管理空间为磁盘分区的3%,要求开机后可以自动挂载至/data目录,并且自动挂载的设备要使用卷标进行引用;

[root@stu19 ~]# fdisk /dev/sda

[root@stu19 ~]# partprobe

[root@stu19 ~]# mke2fs -j -L DATA -b 1024 -m 3 /dev/sda11

[root@stu19 ~]# mkdir /data

[root@stu19 ~]# vim /etc/fstab

LABEL=DATA          /data             ext3    defaults        0 0

 

6、缩减前面创建的逻辑卷lv1的大小至2G;要求gentoo的家目录等不能丢失;缩减完成后以gentoo用户下载http://172.16.0.1/pub/Sources/new_lamp/httpd-2.2.19.tar.bz2至gentoo自己的

家目录;

[root@stu19 ~]# umount /users/

[root@stu19 ~]# e2fsck -f /dev/myvg/lv1

[root@stu19 ~]# resize2fs /dev/myvg/lv1  2G

[root@stu19 ~]# lvreduce -L 2G /dev/myvg/lv1

[root@stu19 ~]# lftp 172.16.0.1

 # cd /pub/Sources/new_lamp/

 #get httpd-2.2.19.tar.bz2

[root@stu19 ~]# mv httpd-2.2.19.tar.bz2 /users/gentoo

 

7、复制文件/etc/rc.d/rc.sysinit至/data目录,其属主为root用户,属组为root组;要求此文件可以被任何人读取,可以被gentoo用户和magedu组读写,但centos没有任何访问权限;

[root@stu19 ~]# cp /etc/rc.d/rc.sysinit  /data

[root@stu19 ~]# chown -R root:root /data/rc.sysinit 

[root@stu19 ~]# chmod o+r /data/rc.sysinit

[root@stu19 ~]# setfacl -m g:magedu:rw- /data/rc.sysinit

[root@stu19 ~]# setfacl -m u:gentoo:rw- /data/rc.sysinit

[root@stu19 ~]# setfacl -m u:centos:--- /data/rc.sysinit 

 

8、配置centos用户能以root用户的身份执行useradd,userdel、usermod和passwd命令(但不能修改root用户的密码)且命令执行时不需要输入密码;而后以centos的身份删除用户www,但不要删除其家目录;

[root@stu19 ~]# visudo

centos ALL=(root) NOPASSWD:/usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod, /usr/bin/passwd, !/usr/bin/passwd root

[centos@stu19 ~]$ sudo /usr/sbin/userdel www

 

9、配置本地的yum源指向,而后安装mysql-server和httpd软件包;

[root@stu19 ~]# mkdir /feng

[root@stu19 ~]# mount /dev/cdrom  feng

[root@stu19 ~]# vim /etc/yum.repos.d/feng.repo

[bash]

name=Server

baseurl=file:///feng/Server

gpgcheck=0

enabled=1

[VT]

name=VT

baseurl=file:///feng/VT

gpgcheck=0

enabled=1

[CS]

name=ClusterStorage

baseurl=file:///feng/ClusterStorage

gpgcheck=0

enabled=1

[Cluster]

name=Cluster

baseurl=file:///feng/Cluster

gpgcheck=0

enabled=1

~

[root@stu19 ~]# yum install mysql-server

[root@stu19 ~]# yum install httpd        

 

10、下载并编译安装axel;软件包所在的地址:ftp://172.16.0.1/pub/Sources/downloader;要求:

1)软件的默认安装目录为/usr/local/axel;

2)安装完成以后,所有用户可以直接执行axel命令,而且不用输入命令的完整的路径;

   [root@stu19 ~]# lftp 172.16.0.1

   # cd /pub/Sources/downloader

   #get axel
   #bye
   #tar xvf axel
   #cd axel
   #./configure --prefix=/usr/local/axel 
   #make
   #make install
   #vim /etc/profile
   添加 PATH=$PATH:/usr/local/axel/bin

 

12、新建目录/backup/test,其属组为magedu,且此组具有读写权限,其它用户没有任何权限;magedu组成员在此目录中创建的文件的属组都需要是magedu,且magedu组中每个成员在此目录中只能删除自己的文件;

[root@stu19 ~]# mkdir /backup/test

[root@stu19 ~]# cd /backup/

[root@stu19 backup]# chown  :magedu test/

[root@stu19 backup]# chmod o=   test/

[root@stu19 backup]# chmod g+w   test/

[root@stu19 backup]# chmod g+s,o+t test/

 

13、配置当前主机内核参数,以允许在不同的网络接口间转发数据包;要求此项配置即刻生效并且在重新启动系统后不会失效。

[root@stu19 ~]# vim /etc/sysctl.conf

把里面的net.ipv4.ip_forwark=  后面这个值改为1

[root@stu19 ~]# sysctl -p

 

14、启用本机的VNC服务,并确保root可用可以使用redhat作为密码登录系统;

[root@stu19 ~]# vncpasswd

Password:

Verify:

[root@stu19 ~]# vncserver &

[root@stu19 ~]# cd .vnc/

[root@stu19 ~]# vim xstartup 

把里面最后的那个twn改为gnome-session

[root@stu19 ~]# vncserver -kill :1

 

15、配置本机每隔两天在凌晨3点20备份一次/etc目录,备份文件存放至/backup目录,文件名形如:etc-2011-11-20.tar.bz2;

[root@stu19 ~]# which tar

/bin/tar

[root@stu19 ~]# crontab -e

20  3  */3  *  * /bin/tar  jcf   /backup/etc-`date +%F`.tar.bz2   /etc

 

16、使用find命令完成如下任务:

  (1)找到/etc目录下属于root用户且至少7分钟没有访问过的普通文件,并将它们复制到/tmp/test目录;

       要求:/tmp/test目录需要自己事先创建,并且为其创建符号链/users/test;

[root@stu19 ~]# mkdir /tmp/test

[root@stu19 ~]# ln -sv /tmp/test/ /users/

[root@stu19 ~]# find /etc/  -user root -amin +7  -type f -exec cp {} /tmp/test/ \;

 (2)找到/users目录下所有没有属主且没有属组的文件,并将其属组修改为gentoo,将其属组修改为magedu;

[root@stu19 ~]# find /users/ -nouser -nogroup -exec chown gentoo:magedu {} \;

 

17、为centos用户的家目录创建磁盘使用限额,要求其能够使用的磁盘空间最大为100M,软限制为120M;要求完成后验正其有效性;

[root@stu19 ~]#  vim /etc/fstab

在gentoo的家目录默认类型里输入usrquota

[root@stu19 ~]# mount -o remount /users/

[root@stu19 ~]# quotacheck -cmu /users/

[root@stu19 ~]# quotaon  /users

[root@stu19 ~]#edquata -u centos

在soft下122880 这个是软限制

后面hard下102400  这个是硬限制

可以通过:

[root@stu19 ~]#su - centos

[root@stu19 ~]#dd if=/dev/zero of=./feng bs=1M count=30  这个命令创建大文件来验证一下

 

18、为逻辑卷lv1创建快照卷lv1_snap,要求此卷只读,且大小为1G;而后通过此卷将数据备份至/backup目录归档压缩存放;

[root@stu19 ~]# lvcreate -s -L 1G -p r -n lv1_snap /dev/myvg/lv1

[root@stu19 ~]# mkdir /jun

[root@stu19 ~]# mount /dev/myvg/lv1_snap /jun

[root@stu19 ~]# tar jcf /backup/feng.tar.bz2  /jun/*

 

19、写一个脚本analyzelog.sh,完成日志分析:

说明:此脚本可以接受选项(i,d,t,a),使用格式:analyzelog <-i IP|-d DATE|-t TYPE|-a> LOG_FILE :

   (1)当用户使用选项-i时,统计出LOG_FILE文件中指定IP地址的访问次数(通常每一行为一次);

   (2)当用户使用选项-d时,统计出LOG_FILE文件中指定日期(某一天,如:16/Feb/2012)内每个IP地址访问的次数;如:

    192.168.0.1:33

    192.168.0.195:17

    ...

   (3)当用户使用选项-t时,统计出LOG_FILE文件中以后缀后指定类型的文件(如.png表示png格式的图片)被访问的次数;

   (4)当用户使用选项-a时,统计出LOG_FILE文件中每个IP地址访问的次数;

样例日志文件为access_log、access_log.1、access_log.2,下载地址为:ftp://172.16.0.1/pub/docs

[root@stu19 ~]# vim analyzelog.sh

#!/bin/bash

USAGE (){

   echo "analyzelog.sh <-i IP | -d DATE | -t TYPE | -a> LOG_FILE"

}

IP (){

   if ! grep -o "$OPTARG" $FILE &> /dev/null; then

      return 11

   fi

   echo -n "${OPTARG}:  "

   grep -o "$OPTARG" $FILE  | wc -l

}

DATE(){

   if ! grep "\[$OPTARG\/" $FILE &> /dev/null;then

     return 12

   fi

   grep "\[$OPTARG\/" $FILE  | cut -d " " -f1 | sort | uniq -c | sort -n | sed '1,$s@\(.*\)[[:space:]]\{1\}\(.*\)@\2:\1@g'}

TYPE(){

   if ! grep -o "\.$OPTARG " $FILE &> /dev/null;then

      return 13

   fi

   grep "\.$OPTARG " $FILE | wc -l

}

ALLIP( ){

   if ! cat $FILE &>/dev/null;then

      return  14

   fi

   cat $FILE  |cut -d " " -f1 | sort | uniq -c | sort -n |  sed '1,$s@\(.*\)[[:space:]]\{1\}\(.*\)@\2:\1@g'}

 

while getopts ":i:d:t:a" SWITCH ;do

    shift $[$OPTIND-1]

    FILE=$1

    if [ -z $FILE ]; then

    USAGE

    exit 0

    fi

   case $SWITCH in

   i)

     IP $OPTARG

     [ $? -eq 11 ] && echo "Wrong IP..";;

   d)

     DATE

     [ $? -eq 12 ] && echo "Wrong DATE ..";;

   t)

     TYPE $OPTARG

     [ $? -eq 13 ] && echo "Wrong YYPE .." ;;

   a)

     ALLIP

     [ $? -eq 14 ] && echo "Wrong FILE..";;

   \?)

     USAGE;;

   esac

done

 

 

你可能感兴趣的:(linux,职场,休闲,RH131,考试题)