找工作绝对没有问题的linux运维面试题(3)

shell脚本编程部分:

1.从 a.log 文件中提取包含“WARNING”或”FATAL”,同时不包含“IGNOR”的行,然后,提取以“:”分割的第五个字段?
grep -E ‘WARNING|FATAL’ a.log | grep-v’IGNOR’ | awk -F : ’{print $5 }’
2.添加一个新组为class01,然后,添加属于这个组的30个用户,用户名的形式为stdXX,其中,XX从 01到 30?

#!/bin/bash
groupadd class01
for((i=1;i<=9;i++))
do
useradd std0$i -G class01
done
for((i=10;i<=30;i++))
do
useradd std$i -G class01
done

3.在每个月的第一天备份并压缩/etc目录下的所有内容,存放在/root/backup目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。shell程序 fileback存放在/usr/bin 目录下?
tar -zcf /root/backup/date+%y%m%d_etc /etc
4.用shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到/dev目录下?

#!/bin/bash
if test$# -ne1
then
echo ”ERROR”
exit 1
fi
if test -c $1
then
/bin/cp -a $1 /dev/
exit0
fi
exit 1

5.某系统管理员需要每天做一定的重复工作,编制一个解决方案:
(1).从下午 4:50 删除/abc 目录下的全部子目录和全部文件;
(2).从早上 8:00~下午 6:00每小时读取/xyz目录下x1 文件中每行第一个域的全部数据加入到/backup目录下的 back01.txt文件内;
(3).每逢周一下午 5:50 将/data目录下的所有目录和文件归档并压缩为文件backup.tar.gz;
(4).在下午 5:55 将IDE接口的CD-ROM缷载(假设CD-ROM的设备名为 hdc);
(5).在早上 8:00 开机后启动。
使用计划任务来完成:
crontab-e
———————–

50 16 * * * rm-rf/abc/*
00 08-18 * * * awk ‘{print$1 }’ /xyz/x1 >> /backup/back01.txt
50 17 * * 01 tar-zcf/backup/backup.tar.gz /data
55 17 * * * umount/dev/hdc

———————–
设定BIOS每日上午 08:00开机

---------------------------------------------------------
1、简述Apache两种工作模式,以及它们之间的区别。

答案:最主要的两种模式是prefork模式与worker模式。prefork每个子进程只有一个线程,效率高但消耗内存大,是unix下默认的模式;worker模式每个子进程有多个线程,内存消耗低,但一个线程崩溃会牵连其它同子进程的线程。

2、用iptables添加一个规则允许192.168.0.123访问本机3306端口
iptables -I INPUT 1 -p tcp -m tcp --dport 3306 -s 192.168.0.123 -j ACCEPT

3、如何对一台Linux服务器进行系统性能调优,列举出参数。

4、DNS服务器的工作原理。

5、修改第一块网卡的路径是什么。
/etc/sysconfig/network-scripts/ifcfg-eth0

7、使用shell,建立class1用户组,再批量建立stu1--stu30的用户,并指定用户组为class1。
vi autoaddusr

#!/usr/bin/php -q
<?php
exec("groupadd class1");
for($i=1; $i<=30; $i++){
    exec("useradd -G class1 stu".$i);
}
?>
chmod +x autoaddusr
./autoaddusr

8、个人对该工作的未来如何规划,需要加强哪些能力。

首先,我有一颗真诚的心,遇事沉着冷静,不急不躁;
其次,我有相应的专业知识和工作经验。一年多的系统管理经历锻炼了我在这个行业的业务能力,并对行业前景和发展动态有相应的了解;
最后,我会用踏实的作风在今后的工作中证明我自己的能力!

9、日常监控都需要监控哪些?
1)硬件:
CPU:/proc/cpuinfo
内存:/proc/meminfo
硬盘:fdisk -l
2)系统:
负载:/proc/loadavg
uptime查看实时load average、swap
虚拟内存:vmstat(参数-s;2 4)
SUID,用户,进程
系统日志:tail -f /var/log/messages
logwatch --print --range Today --service SSHD --service pam_unix
3)网络:Host_Alive,Ping,端口,连接

----------------------------------------------------
.如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0:
答:
#iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp –dport 80 -j DNAT –to 192.168.16.1:8080
或 者:
#iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 8080
2.什么是NAT,常见分为那几种,DNAT与SNAT有什么不同,应用事例有那些?
SNAT,DNAT,MASQUERADE都是NAT。
MASQUERADE是SNAT的一个特例。
SNAT是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包的来源是被替换的那个IP的主机。
MASQUERADE是用发送数据的网卡上的IP来替换源IP,因此,对于那些IP不固定的场合,比如拨号网络或者通过dhcp分配IP的情况下,就得用MASQUERADE。
DNAT,就是指数据包从网卡发送出去的时候,修改数据包中的目的IP,表现为如果你想访问A,可是因为网关做了DNAT,把所有访问A的数据包的目的IP全部修改为B,那么,你实际上访问的是B
因为,路由是按照目的地址来选择的,因此,DNAT是在PREROUTING链上来进行的,而SNAT是在数据包发送出去的时候才进行,因此是在POSTROUTING链上进行的。
3.包过滤防火墙与代理应用防火墙有什么区别,能列举几种相应的产品吗?
包过滤防火墙是根据包头进行的过滤,并且是处于网络层的,根据包的源ip地址,目标ip地址,协议类型,端口号,进行过滤;代理应用防火墙工作在应用层,他使用代理服务器技术,将内网对外网的访问,变为防火墙对外网的访问,可以对包的内容进行分辨,从而过滤。
代理应用防火墙:天融信GFW4000
包过滤防火墙:华为 NE 16E
4.iptables是否支持time时间控制用户行为,如有请写出具体操作步骤。
支持。需要增加相关支持的内核补丁,并且要重新编译内核。
或者使用crontab配合iptables,首先:vi /deny.bat 输入/sbin/iptables -A OUTPUT -p tcp -s 192.168.1.0/24 --dport 80 -j DROP 保存退出
打开crontab -e
输入:00 21 * * * /bin/sh /deny.bat
5.说出你知道的几种linux/unix发行版本。
Redhat、CentOS、Fedora、SuSE、Slackware、Gentoo、Debian、Ubuntu、FreeBSD、Solaris、SCO、AIX、HP…
6.列出linux常见打包工具并写相应解压缩参数(至少三种)
Tar gz bz
Tar -xvzf gzip -d bzip2 -d
7.计划每星期天早8点服务器定时重启,如何实现?
Crontab -e
00 08 7 /sbin/init 6
8.列出作为完整邮件系统的软件,至少二类。
Sendmail,postfix,qmail
9,当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?注:本机跟本地dns还没有缓存。
答:
a.用户输入网址到浏览器;
b.浏览器发出DNS请求信息;
c.计算机首先查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继续下一步;
d.计算机按照本地DNS的顺序,向合法dns服务器查询IP结果;
e.合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果;
f.返回IP结果给浏览器;
g.浏览器根据IP信息,获取页面;
10,我们都知道,dns既采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么时候采用udp协议?为什么要这么设计?
答:这个题需要理解的东西比较的多,分一下几个方面
a,从数据包大小上分:UDP的最大包长度是65507个字节,响应dns查询的时候数据包长度超过512个字节,而返回的只要前512个字节,这时名字 解释器通常使用TCP从发原来的请求。
b,从协议本身来分:大部分的情况下使用UDP协议,大家都知道UDP协议是一种不可靠的协议,dns不像其它的使用UDP的Internet应用 (如:TFTP,BOOTP和SNMP等),大部分集中在局域网,dns查询和响应需要经过广域网,分组丢失和往返时间的不确定性在广域网比局域网上更 大,这就要求dns客户端需要好的重传和超时算法,这时候使用TCP。
11,一个EXT3的文件分区,当使用touch test.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况,说说你的理由。
答:两种情况,一种是磁盘配额问题,另外一种就是EXT3文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,容易导致inode 耗尽了。
12,我们都知道FTP协议有两种工作模式,说说它们的大概的一个工作流程?
FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。
服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。
在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通 知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。
被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。
因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。
13.编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下
Q:主要是考察awk 这些的用法

#/bin/sh
#Programm :
# Using for move currently directory to /tmp
for FileName in `ls -l |awk ‘$5>10240 {print $9}’`
do
mv $FileName /tmp
done
ls -la     /tmp
echo “Done! ”

14.apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?
apache主要有两种工作模式:prefork(apache的默认安装模式)和worker(可以在编译的时候加参数–with-mpm- worker选择工作模式)
prefork的特点是:(预派生)
1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销
2.可以防止意外的内存泄漏
3.在服务器负载下降的时候会自动减少子进程数
worker的特点是:支持混合的多线程多进程的多路处理模块
如果对于一个高流量的HTTP服务器,worker MPM是一个比较好的选择,因为worker MPM占用的内存要比prefork要小。
15.名词解释 HDLC,VTP,OSPF,RIP,DDOS,system V,GNU,netscreen,ssh,smartd,apache,WAIT_TIME 等等。
HDLC:高级链路控制;VTP:vlan 传输协议;OSPF:开放最短路径优先;RIP:路由信息协议;DDOS:分布式拒绝服务***;system V:UNIX版本V;GNU:非UNIX,开放源码软件工程;netscreen:国际著名防火墙厂家之一,04年后被juniper收购,变为其防火墙的一个系列;ssh:安全外壳,防止中间人***的一种连接方式;smartd:硬盘检测工具s.m.a.r.t的进程;Apache:web服务器软件;WAIT_TIME:netstat命令显示的参数,客户端正在等待。
16.编写shell脚本获取本机的网络地址。比如:本机的ip地址是:192.168.100.2/255.255.255.0,那么它的网络地址是
192.168.100.1/255.255.255.0
方法一:

#!/bin/bash
#This script print ip and network
file=”/etc/sysconfig/network-scripts/ifcfg-eth0″
    if [ -f $file ] ;then
                                IP=`grep “IPADDR” $file|awk -F”=” ‘{ print $2 }’`
                                MASK=`grep “NETMASK” $file|awk -F”=” ‘{ print $2 }’`
                                echo “$IP/$MASK”
exit 1

fi
方法二:

#!/bin/bash
#This programm will printf ip/network
#
IP=`ifconfig eth0 |grep ‘inet ‘ |sed ’s/^.*addr://g’|sed ’s/     Bcast.*$//g’`
NETMASK=`ifconfig eth0 |grep ‘inet ‘|sed ’s/^.*Mask://g’`
echo “$IP/$NETMASK”
exit

17.在命令行下发一邮件,发件人:[email protected], 收信人:[email protected]
Mail -s "hello"
二、简述题:
1.linux下如何改IP,主机名,DNS
Setup
2.linux下如何添加路由
Route add -net 10.1.1.0/24 eth1
3.简述linux下编译内核的意义与步骤
编译内核的意义在于让硬件设备更稳定的发挥其应有的效能;
4.简述Linux启动过程
Bios引导--》启动引导工具grub--》核心初始化--》载入初始程序init--》init初始化--》从inittab中读取数据,决定启动级别--》系统运行
5.简述DDOS***的原理
***劫持大量傀儡主机,对目标服务器进行合理的资源请求,导致服务器资源耗尽而不能进行正常的服务。
6.简述Tcp三次握手的过程
第一次握手,建立连接,客户端发送SYN包到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手,服务器收到SYN,同时自己也发送一个SYN包和一个ACK包来确认客户端的SYN,并进入SYN_RECV;
第三次握手,客户端收到服务器发来的SYN+ACK后,回复服务器端一个ACK确认,发送完毕后,双方进入ESTABLISHED状态。
三次握手成功后,开始传输数据。
7.简述×××,常见有哪几种?
×××是指在公共的网络上建立专用网络的技术,但是两个节点间并没有物理上的专用的端到端链路,而是通过广域网或者运营商提供的网络平台之上的逻辑网络,用户数据在逻辑链路中传输,它可以有效的节省一般需要达到DDN专线所能达到的同样的目的,而且×××采用身份验证和加密技术,充分保证了安全性。常见的×××有:ipsec ***、PPTP ***、L2TP ***、SSL ***
三、设计题:
1.系统设计
请考虑以下系统的设计. 您可以翻阅资料,查询任何您有帮助的资料、指南等。
您有的资源:
8台安装Linux (2.6内核) 的双网卡PC服务器以及相关开源软件,交换机
Apache 2.2.x
Tomcat 5.5.X
数据库系统
最多8个Internet IP地址,请您设计一个系统:
1、使用双apache web server前端;
2、采用AJP连接后段的3台Tomcat应用服务器,这些tomcat被配置成cluster, 因此需要考虑apache对后端的分配,分配采用完全平衡的方法;配置使用cookie来实现session stickness;
3、1台数据库服务器只有tomcat才需要连接,也不需要对Internet提供服务。
4、考虑系统的安全性和维护方便性;
5、通过rewrite规则配置把下属URL规则改写成友好的URL
http://server/webapp/getinfo?id=XXXX&name=YYYY –> http://server/getinfo/YYYY/XXXX
您需要提交
1、服务器规划,包括:
* 网络结构图
* 每台机器的IP地址分配
* 每台机器上运行的关键软件
* 您从安全性和维护性方面的考虑
2、Apache的以下配置文件给我们:
* extra/http-proxy-ajp.conf
* extra/http-rewrite.conf
2.你可以采取任何设备和不同操 作系统服务器设计对两台WWW服务器和两台FTP服务器做负载均衡,用网络拓扑图表示并加以说明!(方法越多越好)
第一种方法: DNS轮巡
www1 IN A 192.168.1.1
www2 IN A 192.168.1.2
www3 IN A 192.168.1.3
ftp1 IN A 192.1.1.4
ftp2 IN A 192.1.1.5
ftp3 IN A 192.1.1.6
www IN CNAME www1
www IN CNAME www2
www IN CNAME www3
ftp IN CNAME ftp1
ftp IN CNAME ftp2
ftp IN CNAME ftp3

原文地址:http://blog.51cto.com/hashlinux/2306509

时间: 2024-10-08 05:29:45

找工作绝对没有问题的linux运维面试题(3)的相关文章

找工作绝对没有问题的linux运维面试题(2)

怎么挂载windows的共享目录?mount.cifs //IP/SHARE linux的目录 --verbose -o user=username <--这个用户是windows下的用户--verbose这个参数可以不加,它是显示过程的例如mount.cifs //10.1.1.246/gongxiang /mnt --verbose -o user=gao 或者是mount -t cifsumount /mnt 或umount.cifs /mnt -l <--取消挂载 图形界面:smb:/

Linux运维面试题及解答

Linux运维面试题及解答 1.创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录: 查看电脑现有磁盘及分区情况,命令:[[email protected] ~]# df –lh 1.1大家都知道linux系统分区都是以文件的形式存在的,当我们安装完一台linux系统的设备后,设备的磁盘分区可能已经存在,所以我们首先要确定的是磁盘现有分区,在哪个分区下有满足我们题目要求的容量. 查看电脑现有磁盘及分区情况:[[email protected] ~]# df –l

简单的Linux运维面试题,

前几天朋友去面试,拿到的一份Linux运维面试题,不太全,数据库方面的没有弄到,有些没有答完,欢迎大神补充 1.写出至少四种Linux发行版本 Redhat.centos.suse.ubuntu.debian.gentoo.slackware.fedora.arch Linux Suse是基于Slackware的二次发行版 Ubuntu是基于debian的二次发行版 Fedora属于红帽系列 Arch linux是轻量级的,是独立的发行版,没有基于其他版本 2.分别写出ftp.vpn.dns.s

运维屌丝回答网传Linux运维面试题

前段时间网上流传有很多Linux运维的面试题,豪鹫也看了一些,但很多都没有附答案,最近工作比较空闲,利用这三年的运维经验,做做题目,当是巩固一下知识,如答案有误或者各位有更好的答案,欢迎点评.这里当然有小部分答案是网上整理过来的, 请原作者见谅,此作为引用. 以下是面试题,蓝色内容为豪鹫的回答:(未完待续--)  上海实战面试经历----Linux 系统/运维面试总结 同学在上海某网络公司面试题: 1.LINUX系统软件安装和卸载的常见方法 答:A.rpm包卸载:rpm -e XXX.rpm  

linux运维面试题(1)

一.有文件file1 1.查询file1 里面空行的所在行号 awk ?{if($0~/^$/)print NR}' file or grep -n ^$ file |awk ?BEGIN{FS=|:|}{print $1}' 2.查询file1 以abc 结尾的行 grep abc$ file1 3.打印出file1 文件第1 到第3 行 sed -n '1,3p' file1 head -3 file1 二.如何将本地80 端口的请求转发到8080 端口当前主机IP 为192.168.2.

运维屌丝回答网传Linux运维面试题(四)

淘米和上海埃富梦科技,笔试题 后续将整理出豪鹫亲身经历面试过的公司运维技术面的题目(非笔试题目,技术面运维经理的提问),并也附上答案. 敬请期待..... 1.如何检测某个端口所占用的进程 答:如检测3306端口所占用的进程:使用命令: [[email protected] ~]# lsof -i:3306 COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME mysqld  2452 mysql   10u  IPv4  13315

运维屌丝回答网传Linux运维面试题(二)

继续屌丝回答网传第二面试题 上海某证券公司: Linux开机流程 答:过程如下: <1>开启电源,加载BIOS----当你按下电源按钮时,服务器会检测系统外围关键设备(如:CPU.内存.显卡.I/O.键盘鼠标等)是否正常,加载BIOS信息,因为BIOS中包含了CPU的相关信息,设备启动顺序信息,硬盘信息,内存信息,时钟信息等等,加载之后,服务器知道应该去读取哪个硬件设备了. <2>读取MBR----硬盘上第0磁道第一个扇区被称为MBR(Master Boot Record,主引导记

网传Linux运维面试题解答(二)

题目来源:http://2358205.blog.51cto.com/2348205/1688323 http://mofansheng.blog.51cto.com/8792265/1627907 大部分都自己做的,部分参考了原帖博主的答案 1.Linux开机流程 BIOS开机自检→MBR引导→加载GRUB→加载linux内核→运行init进程,读取/etc/inittab→执行/etc/rc.d/rc.sysinit脚本→执行/etc/rc.d/rc脚本,运行/etc/rc.d/rcX.d中

网传Linux运维面试题解答(四)

题目来源:http://2358205.blog.51cto.com/2348205/1688557 大部分都自己做的,部分参考了原帖博主的答案 1.如何检测某个端口所占用的进程 lsof -i :port 2.对于linux主机的cpu负载使用,什么情况下user的比例升高,什么情况下system的比例升高,请联系实际举例. 使用top命令可以查看cpu的负载使用 -us:用户进程消耗的CPU时间百分比us的值比较高时,说明用户进程消耗的CPU资源多,如果长期超50%的使用,那么我们就该考虑优