0121linux测试整理


前提:配置主机名为stationX.example.com,IP地址为192.168.0.X, 其中x为你的座位号+10


1、创建一个1G的分区,文件系统为ext3,卷标为DATA,块大小为2048,要求开机后可以自动挂载至/data目录;

2、创建一个空间大小为2G的RAID5设备,并且此设备具有一个空闲的备份磁盘;要求此设备开机时可以自动挂载至/backup目录;
mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sda{6,7,8,9}
格式化
3、创建一个由两个物理卷组成的大小为5G的卷组设备,要求其PE大小为16M;而后在此卷组中创建一个大小为2G的逻辑卷lv1,此逻辑卷要能在开机后自动挂载至/users目录;
vgcreate myvg -s 16M /dev/sda{10,11}
4、写一个小脚本,并执行;要求实现:
(1)新建ID为306的系统组mysql;新建ID为306的系统用户mysql,要求其没有家目录,shell为/bin/nologin;
(2)新建组dba;新建用户florian,要求其家目录为/users/florian,密码同用户名;
(3)新建用户douglas,其家目录为/users/douglas,密码同用户名;
(4)用户florian和douglas均以dba为其附加组;

5、为florian用户的家目录设置磁盘配额,软限制为1024k,硬限制为2048k;(测试命令:dd if=/dev/zero of=myfile bs=1k count=1024)注意:只能对独立的分区进行配额
#vim /etc/fstab /root usrquota
#mount -o remount /
#mount
#quotacheck -cugm / 可以不用g
#edquota florian
#su - florian
#quota
#dd if=/dev/zero of=myfile bs=1k count=1024

6、缩减前面创建的逻辑卷lv1的大小至1G;要求florian的家目录等不能丢失;
#umount /users
#e2fsck -f /dev/myvg/lv1
#resize2fs /dev/myvg/lv1 1G (缩减逻辑边界)
#lvreduce -L 1G /dev/myvg/lv1 (缩减物理边界)

7、复制文件/etc/fstab至/data目录,其属主为root用户,属组为root组;要求此文件可以被任何人读取,可以被florian读写,但douglas没有任何访问权限;
#cp /etc/fstab /data -p
#vim /etc/fstab /data所在分区,“defaults,acl”
#setfacl -m u:florian:rw- /data/fstab


8、配置douglas用户能以root用户的身份执行useradd,userdel和usermod命令,而后以douglas的身份创建一个新用户domingo;

#echo "douglas ALL=(root) /usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin/usermod" >> /etc/sudoers
#su - douglas
#sudo /usr/sbin/useradd domingo


9、写一个小脚本,要求:
(1)判断当前系统上是否存在wget命令且可执行,如果有,则为变量DOWNLOADER设置其值为wget文件的的绝对路径;否则,判断当前系统上是否存在lftpget命令且可执行,如果有,则为变量DOWNLOADER设置其值为wget文件的的绝对路径;;
(2)切换当前目录至/etc/yum.repos.d;
(3)将当前主机的DNS服务器指向192.168.0.254; /etc/resove.conf
(4)使用DOWNLOADER下载ftp://192.168.0.254/pub/gls/server.repo至当前目录;
(5)使用yum命令安装软件mysql-server;

#!/bin/bash

if `man wget >> /dev/null `;then
DOWNLOADER=`which wget`
elif `man lftpget`;then
DOWNLOADER=`which lftpget`
else
exit
fi
cd /etc/yum.repos.d
echo "nameserver 192.168.0.254" >> /etc/resove.conf

$DOWNLOADER ftp://192.168.0.254/pub/gls/server.repo
yum clean all
yum install mysql-server


10、为本系统开户NIS认证的功能,NIS域名为notexample,服务器地址为192.168.0.254,NIS用户为guest200X,密码为password,此些用户可以在本机登录;配置autofs请求,可从nfs服务器192.168.0.254自动挂载guest200X用户的家目录(服务器上guest200X用户的家目录为/home/guests/guest200X),要求挂载以后用户guest200X自己要具体读写权限;

setup-->authentication--->use nis

mkidr /home/guests
vim /etc/auto.master
/home/guests /etc/auto.home
vim /etc/auto.home
* -rw,soft 192.168.0.254:/home/guests/&

#service autofs restart


11、使用cups开启打印服务,新建本地打印机stationX(同你的主机名),在描述中输入“remote printer on instructor”,选择使用ipp打印协议,远程打印服务器为instructor.example.com(192.168.0.254),远程打印机的名字为server1,要求选择genaric-->text only模式,并且此打印机为本地机器上默认的打印机,也可能共享给其他用户使用;
system ---administration --print或者
system-config-printer


12、新建目录/backup/test,其属组为dba,且此组具有读写权限,其它用户没有任何权限;dba组成员在此目录中创建的文件的属组都需要是dba,且dba组中每个成员在此目录中只能删除自己的文件;
mkdir /backup/test
chown :dba /backup/test
chmod g=rw- /backup/test
chmod g+s /backup/test
chmod o+t /backup/test

13、配置当前主机内核参数,以允许在不同的网络接口间转发数据包;要求此项配置在重新启动系统后不会失效。
#cat /proc/sys/net/ipv4/ip_forward

#vim /etc/sysctl.config
net.ipv4.ip_forward=1

使配置当前起效{ sysctl -w
sysctl -p
echo 1 >> /proc/sys/net/ipv4/ip_forward

}

14、写一个脚本/sbin/datamonitor.sh,要求:
(1)判断/data目录是否存在,且挂载了一个存储设备(通过grep /etc/mtab文件实现);

/etc/mtab 记录着当前系统所有挂载的设备


(2)如果是,则分别显示此设备上总的空间大小和可用空间大小;如果可用空间大小与总空间大小之比低于20%,则以红色显示警告信息;
(3)同时显示总的inode条目的数目和可用inode条目的数目;如果可用可用inode条目的数目与总的inode条目的数目之比低于20%,则以红色显示警告信息;
(4)以root用户的身份设置此脚本每两小时执行一次;

#!/bin/bash
if [-d /data ] ;then
if grep '/data' /etc/mtab &> /dev/null;then
TOTALSPACE=`df /data | grep -v "Filesystem" | awk '{print $2}'`
USESPACE=`df /data | grep -v "Filesystem" | awk '{print $4}'`
TOTALINODES=`df -i /data | grep -v "Filesystem" | awk {print $2}`
USEINODES=`df -i /data | grep -v "Filesystem" | awk '{print $4}'`
else "No device mount on /data,exit..."
exit

else
echo "/data is not exist,exit......"
exit

chmod +x /sbin/datamonitor.sh
at * /2 * * * bash /sbin/datamonitor


crontabe -e
* /2 * * * /sbin/datamonitor




选做题(至少做其中一题):

15、(选做题)写一个脚本getinterface.sh,脚本可以接受参数(i,I,a),完成以下任务:
(1)使用以下形式:getinterface.sh [-i interface|-I IP|-a]
(2)当用户使用-i选项时,显示其指定网卡的IP地址;
(3)当用户使用-I选项时,显示其后面的IP地址所属的网络接口;
(4)当用户单独使用-a选项时,显示所以网络接口及其IP地址(lo除外);



#!/bin/bash

while getopts ":i:I:a" in SWITCH;do
case $SWITCH in
'i') INT=$OPTARG

ifconfig $INT | grep "inet addr" | cut -d: -f2 | awk '{print $1}'
;;
'I') IP=$OPTARG
ifconfig | grep -B 1 $IP |grep "Link encap" |awk '{print $1}'
;;
'a')
ifconfig | grep -e "Link encap" -e "inet addr" | grep -v -e "lo" -e "127.0.0.1"| awk '{print $1}'
;;
\?)
echo "Please input: getinterface.sh [-i interface|-I IP|-a] "
exit 1
;;
esac
done







16、(选做题)依据当前系统,创建一个精简版的Linux,要求:
(1)可进入运行级别1;
(2)用户需要输入帐号和密码方可进入系统,用户的默认shell为bash;
(3)提示用户登录前,能显示欢迎信息;
(4)在系统上可以使用ps和ls命令;

你可能感兴趣的:(linux,职场,休闲,测试整理)