前提:
一、每位同学的IP地址为172.16.X.1, 子网掩码为255.255.0.0,网关为172.16.0.1,DNS服务器为172.16.0.1,主机名为stuX.magedu.com,其中X为你的座位号;
# hostname HOSTNAME
# echo "HOSTNAME" > /proc/sys/kernel/hostname
#/etc/sysconfig/network system-config-network-gui
二、yum源为 http://172.16.0.1/yum/{Server,Cluster,ClusterStorage,VT,errata};
//yum repolist gpgcheck bashurl name enabled
yum建立方法
#在/etc/yum.repo.d/建立以repo为后缀的文件,以lw.repo为例,写以下内容:
[base]
name=Server
baseurl=http://172.16.0.1/yum/Server
gpgcheck=0
enabled=1
[VT]
name=VT
baseurl=http://172.16.0.1/yum/VT
gpgcheck=0
enabled=1
[Cluster]
name=Cluster
baseurl=http://172.16.0.1/yum/Cluster
gpgcheck=0
enabled=1
[CS]
name=ClusterStorage
baseurl=http://172.16.0.1/yum/ClusterStorage
gpgcheck=0
enabled=1
//
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) 系统会莫名其妙地重启;
答案:
b、//grub损坏,先进救援模式(linux rescue)、
输入grub
找到根分区在那里可用(root (hd0,0)/ 按Tab键寻找,
root (hd0,0)
setup (hd0) 安装grub
c、修改几个配置文件
vi /mnt/sysimages/etc/inittab
vi /mnt/sysimages/etc/rc.d/rc.local
vi /mnt/sysimages/boot/grub/grub.conf
修改后重起
a、进入grub界面,改为级别1,修改密码
2、创建一个空间大小为10G的RAID5设备;其chuck大小为32k;要求此设备开机时可以自动挂载至/backup目录;
//三 fd partprobe /dev/sda
mdadm -C /dev/md1 -a yes -l 5 -n 3 -c 32 /dev/sda5 /dev/sda6 /dev/sda7
cat /proc/mdstat
mke2fs -j /dev/md1
mkdir /backup
/etc/fstab
mount -a
3、创建一个由两个物理卷组成的大小为8G的卷组myvg,要求其PE大小为8M;而后在此卷组中创建一个大小为4G的逻辑卷lv1,此逻辑卷要能在开机后自动挂载至/users目录;
答案:
// 建两个分区 分区类型8e
partprobe /dev/sda
pvcreate /dev/sda8 /dev/sda9
pvdisplay pvs
vgcreate -s 16m myvg /dev/sda8 /dev/sda9
vgs
lvcreate -L 4G -n lv1 myvg
lvs
mke2fs -j /dev/myvg/lv1
mkdir /users
/etc/fstab
mount /dev/myvg/lv1 /users
\\
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为其附加组;
答案:(1)、useradd -r mysql useradd -s /sbin/nologin -r -M -g mysql mysql
(2)、groupadd -g 600 magedu useradd -d /users/gentoo gentoo passwd gentoo
(3)、 useradd -d /users/centos centos passwd centos
(4)、 useradd -d /users/www www
(5)、 usermod -a -G magedu gentoo usermod -a -G magedu centos
5、创建一个2G的分区,文件系统为ext3,卷标为DATA,块大小为1024,预留管理空间为磁盘分区的3%,要求开机后可以自动挂载至/data目录,并且自动挂载的设备要使用卷标进行引用;
答案:
fdisk /dev/sda
partprobe /dev/sda
mke2fs -L DATA -b 1024 -j -m 3 /dev/sda10
mkdir /data
/etc/fstab
mount -a
6、缩减前面创建的逻辑卷lv1的大小至2G;要求gentoo的家目录等不能丢失;缩减完成后以gentoo用户下载 http://172.16.0.1/pub/Sources/new_lamp/httpd-2.2.19.tar.bz2至gentoo自己的家目录;
答案:
umount /dev/myvg/lv1
e2fsck -f /dev/myvg/lv1
resize2fs /dev/myvg/lv1 2G
lvreduce -L 2G /dev/myvg/lv1
mount /dev/myvg/lv1 /data
cd /data/gentoo
curl -O http://172.16.0.1/pub/Sources
7、复制文件/etc/rc.d/rc.sysinit至/data目录,其属主为root用户,属组为root组;要求此文件可以被任何人读取,可以被gentoo用户和magedu组读写,但centos没有任何访问权限;
答案:
///etc/fstab
defaults,acl
mount -o acl /data
chmod go=r /data/rc.sysinit
getfacl rc.sysinit
setfacl -m u:centos:--- rc.sysinit
setfacl -m g:gentoo:rw rc.sysinit
8、配置centos用户能以root用户的身份执行useradd,userdel、usermod和passwd命令(但不能修改root用户的密码)且命令执行时不需要输入密码;而后以centos的身份删除用户www,但不要删除其家目录;
答案:
visudo
centos ALL=(root) NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod, /usr/bin/passwd,!/usr/bin/passwd root
(sudo -l
sudo /usr/sbin/useradd lll
sudo /usr/bin/passwd root)
9、配置本地的yum源指向,而后安装mysql-server和httpd软件包;
答案:
yum install mysql-server httpd
10、下载并编译安装axel;软件包所在的地址: ftp://172.16.0.1/pub/Sources/downloader;要求:
1)软件的默认安装目录为/usr/local/axel;
2)安装完成以后,所有用户可以直接执行axel命令,而且不用输入命令的完整的路径;
答案:
mkdir /tmp/axel
lftp
tar xf
./configure --i18n=0 --strip=0
make
make install
12、新建目录/backup/test,其属组为magedu,且此组具有读写权限,其它用户没有任何权限;magedu组成员在此目录中创建的文件的属组都需要是magedu,且magedu组中每个成员在此目录中只能删除自己的文件;
答案:
mkdir /backup/test
chown :magedu /backup/test
chmod g=rwx,o= /backup/test
chmod g+s,o+t /backup/test
13、配置当前主机内核参数,以允许在不同的网络接口间转发数据包;要求此项配置即刻生效并且在重新启动系统后不会失效。
答案:
echo 1 > /proc/sys/net/ipv4/ip_forward
/etc/sysctl.conf
14、启用本机的VNC服务,并确保root可用可以使用redhat作为密码登录系统;
答案:
vncpasswd redhat
vncserver &
15、配置本机每隔两天在凌晨3点20备份一次/etc目录,备份文件存放至/backup目录,文件名形如:etc-2011-11-20.tar.bz2;
答案:
(/var/spool/cron/USER service crond status )
/etc/crontab
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;
(2)找到/users目录下所有没有属主且没有属组的文件,并将其属组修改为gentoo,将其属组修改为magedu;
答案:
cp `find /etc -user root -a -type f -amin +7` /tmp/test
ln -s /tmp/test /users/test
find /users -nouser -a -nogroup -exec chown gentoo:magedu {} \;
17、为centos用户的家目录创建磁盘使用限额,要求其能够使用的磁盘空间最大为100M,软限制为120M;要求完成后验正其有效性;
答案:
///etc/fstab defaults,usrquota
mount -o remount /users
quotacheck -cmug /users
quotaon /users
edquota -u centos
18、为逻辑卷lv1创建快照卷lv1_snap,要求此卷只读,且大小为1G;而后通过此卷将数据备份至/backup目录归档压缩存放;
答案:
lvcreate -L 1G -s -p r -n lv1_snap /dev/myvg/lv1
tar jcf /backup/back.tar.bz2 /users/*
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