linux体系运维面试题大全
1、 如何看当前Linux体系有几颗物理CPU和每颗CPU的核数?
检察物理cup:
cat /proc/cpuinfo|grep -c ‘physical id’
检察每颗cup核数
cat /proc/cpuinfo|grep -c ‘processor’
2、检察体系负载有两个常用的命令,是哪两个?这三个数值表示什么含义呢?
(1)命令:w
w命令用于显示目前登入体系的用户信息,如下图。
(2)命令:uptime
其中load average即体系负载,三个数值分别表示一分钟、五分钟、十五分钟内体系的平均负载,即平均任务数。
3、vmstat r, b, si, so, bi, bo 这几列表示什么含义呢?
执行命令vmstat,结果如下图。
- r:表示running,表示正在跑的任务数
- b:表示blocked,表示被阻塞的任务数
- si:表示有多少数据从交换分区读入内存
- so:表示有多少数据从内存写入交换分区
- bi:表示有多少数据从磁盘读入内存
- bo:表示有多少数据从内存写入磁盘
复制代码 简记:
i --input,进入内存
o --output,从内存出去
s --swap,交换分区
b --block,块装备,磁盘。单元都是KB。
4、linux体系里,您知道buffer和cache如何区分吗?
buffer和cache都是内存中的一块区域,当CPU必要写数据到磁盘时,由于磁盘速率比较慢,以是CPU先把数据存进buffer,然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;当CPU必要从磁盘读入数据时,由于磁盘速率比较慢,可以把即将用到的数据提前存入cache,CPU直接从Cache中拿数据要快的多。
5、利用top检察体系资源占用环境时,哪一列表示内存占用呢?
如上图所示:
- VIRT:虚拟内存用量
- RES:物理内存用量
- SHR:共享内存用量
- %MEM:内存用量
- %CPU:cpu用量
复制代码 6、如何及时检察网卡流量为多少?如何检察历史网卡流量?
安装sysstat包,利用sar命令检察。
#安装sysstat包,得到sar命令
#检察网卡流量,默认10分钟更新一次
#一秒显示一次,一共显示10次
#检察指定日期的流量日志
- sar -n DEV
- -f /var/log/sa/sa22
复制代码 7、如何检察当前体系都有哪些进程?
可以利用ps -aux 或者ps –elf命令。
ps –aux命令结果如下图。
ps –elf结果如下图
8、ps 检察体系进程时,有一列为STAT, 假如当前进程的stat为Ss 表示什么含义?假如为Z表示什么含义?
S表示正在休眠;s表示主进程;Z表示僵尸进程。
示比方下图。
9、如何检察体系都开启了哪些端口?
命令:netstat -lnp
10、如何检察网络连接状况?
命令:netstat –an
11、想修改ip,必要编辑哪个设置文件,修改完设置文件后,如何重启网卡,使设置收效?
利用vi或者vim编辑器编辑网卡设置文件/etc/sysconfig/network-scripts/ifcft-eth0(假如是eth1文件名为ifcft-eth1),内容如下:
- DEVICE=eth0
- HWADDR=00:0C:29:06:37:BA
- TYPE=Ethernet
- UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
- ONBOOT=yes
- NM_CONTROLLED=yes
- BOOTPROTO=static
- IPADDR=192.168.140.130
- NETMASK=255.255.255.0
- GATEWAY=192.168.140.2
- DNS1=192.168.140.2
- DNS2=8.8.8.8
复制代码 修改网卡后,可以利用命令重启网卡:
也可以重启网络服务:
12、能否给一个网卡设置多个IP? 假如能,怎么设置?
可以给一个网卡设置多个IP,设置步调如下:
(1)检察eth0的设置,命令如下。
- cat /etc/sysconfig/network-scripts/ifcfg-eth0
复制代码 比方ifcfg-eth0 文件内容如下:
- DEVICE=eth0
- HWADDR=00:0C:29:06:37:BA
- TYPE=Ethernet
- UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
- ONBOOT=yes
- NM_CONTROLLED=yes
- BOOTPROTO=static
- IPADDR=192.168.140.130
- NETMASK=255.255.255.0
- GATEWAY=192.168.140.2
- DNS1=192.168.140.2
- DNS2=8.8.8.8
复制代码 (2)新建一个ifcfg-eth0:1文件,命令如下。
- cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1
复制代码 (3)利用vi编辑器修改其内容。
- vi /etc/sysconfig/network
- -scripts/ifcfg-eth0:1
复制代码 多绑定一个ip192.168.140.131,内容如下。
- DEVICE=eth0:1
- HWADDR=00:0C:29:06:37:BA
- TYPE=Ethernet
- UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
- ONBOOT=yes
- NM_CONTROLLED=yes
- BOOTPROTO=static
- IPADDR=192.168.140.131
- NETMASK=255.255.255.0
- GATEWAY=192.168.140.2
- DNS1=192.168.140.2
- DNS2=8.8.8.8
复制代码 (4)重启网络服务:
13、如何检察某个网卡是否连接着交换机?
利用命令mii-tool,比方查询网卡eth0
14、如何检察当前主机的主机名,如何修改主机名?要想重启后依旧收效,必要修改哪个设置文件呢?
(1)检察主机名:hostname
(2)修改主机名:hostname centos-db
永久收效必要修改设置文件network:
- vi /etc/sysconfig/network
复制代码 将HOSTNAME等号反面改成新的主机名。
- NETWORKING=yes
- HOSTNAME= centos-db
复制代码 15、设置DNS必要修改哪个设置文件?
(1)在文件 /etc/resolv.conf 中设置DNS
(2)在文件 /etc/sysconfig/network-scripts/ifcfg-eth0 中设置DNS
16、利用iptables 写一条规则:把泉源IP为192.168.1.101访问本机80端口的包直接拒绝
iptables -I INPUT -s 192.168.1.101 -p tcp --dport 80 -j REJECT
17、要想把iptable的规则保存到一个文件中如何做?如何规复?
利用iptables-save重定向到文件中:
利用iptables-restore反重定向回来:
18、如何备份某个用户的任务计划?
将/var/spool/cron/目录下指定用户的任务计划拷贝到备份目录cron_bak/下即可:
- cp /var/spool/cron/rachy /tmp/bak/cron_bak/
复制代码 19、任务计划格式中,前面5个数字分表表示什么含义?
依次表示:分、时、日、月、周
20、如何可以把体系中不消的服务关掉?
(1)利用可视化工具:ntsysv
(2)利用命令:chkconfig servicename off
21、如何让某个服务(假如服务名为 nginx)只在3,5两个运行级别开启,其他级别关闭?
先关闭全部运行级别:chkconfig nginx off
然后打开35运行级别:chkconfig --level 35 nginx on
22、rsync 同步命令中,下面两种方式有什么差异呢?
(1) rsync -av /dira/ ip:/dirb/
(2) rsync -av /dira/ ip::dirb
其中(1)是通过ssh方式同步的,(2)后者是通过rsync服务的方式同步的。
23、rsync 同步时,假如要同步的源中有软连接,如何把软连接的目的文件或者目录同步?
同步源文件必要加-L选项
24、某个账号登岸linux后,体系会在哪些日志文件中记录相关信息?
用户身份验证过程记录在/var/log/secure中,登录成功的信息记录在/var/log/wtmp。
25、网卡或者硬盘有问题时,我们可以通过利用哪个命令检察相关信息?
利用命令dmesg
26、分别利用xargs和exec实现这样的需求,把当前目录下全部后缀名为.txt的文件的权限修改为777
利用xargs :
- find ./ -type f -name "*.txt" |xargs chmod 777
复制代码 利用exec :
- find ./ -type f -name "*.txt" -exec chmod 777 {} \;
复制代码 27、有一个脚本运行时间可能凌驾2天,如何做才能使其不中断的运行,而且还可以随时观察脚本运行时的输出信息?
利用screen工具
28、在Linux体系下如何按照下面要求抓包:只过滤出访问http服务的,目的ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
利用tcpdump命令:
- tcpdump -nn -s0 host 192.168.0.111 and port 80 -c 1000 -w 1.cap
复制代码 29、rsync 同步数据时,如何过滤出全部.txt的文件差异步?
加上–exclude选项:–exclude=“*.txt”
30、rsync同步数据时,假如目的文件比源文件还新,则忽略该文件,如何做?
保留更新利用-u或者–update选项
31、想在Linux命令行下访问某个网站,并且该网站域名还没有解析,如何做?
在/etc/hosts文件中增加一条从该网站域名到其IP的解析记录即可,或者利用curl -x
32、自定义解析域名的时间,我们可以编辑哪个文件?是否可以一个ip对应多个域名?是否一个域名对应多个ip?
编辑 /etc/hosts 文件,可以一个ip对应多个域名,不可以一个域名对多个ip。
33、我们可以利用哪个命令检察体系的历史负载(比如说两天前的)?
#比方检察22号的体系负载
- sar -q -f /var/log/sa/sa22
复制代码 34、在Linux下如何指定dns服务器,来解析某个域名?
利用dig命令,比方利用谷歌DNS解析百度
- dig @8.8.8.8 www.baidu.com
复制代码 35、利用rsync同步数据时,假如我们接纳的是ssh方式,并且目的机器的sshd端口并不是默认的22端口,那我们如何做?
方式1:
- rsync "--rsh=ssh -p 10022"
复制代码 方式2:
36、rsync同步时,如何删除目的数据多出来的数据,即源上不存在,但目的却存在的文件或者目录?
加上–delete选项即可。
37、利用free检察内存利用环境时,哪个数值表示真正可用的内存量?
free命令后第二列的值,如下图。
38、有一天你突然发现公司网站访问速率变的很慢很慢,你该怎么办呢?
可以从体系负载和网卡流量方面入手分析。分析体系负载,利用w命令或者uptime命令检察体系负载,假如负载很高,则利用top命令检察CPU,MEM等占用环境,要么是CPU繁忙,要么是内存不敷,假如这二者都正常,再去利用sar命令分析网卡流量,分析是不是遭到了攻击。一旦分析出问题的原因,接纳对应的步伐办理,如决定要不要杀死一些进程,或者克制一些访问等。
39、rsync利用服务模式时,假如我们指定了一个暗码文件,那么这个暗码文件的权限应该设置成多少才可以?
600或400
40、给您一台最小化安装的linux机器,如何进行根本优化?
(1)更新yum官方源
(2)关闭不必要的服务
(3)关闭不必要的TTY
(4)对TCP/IP网络参数进行调解。比方:优化Linux下的内核TCP参数以提高体系性能。
(5)设置时间同步
(6)优化最大文件数限制
(7)关闭SELINUX
(8)修改SSH登录设置
(9)清算登岸的时间显示的体系及内核版本
(10)删除不必要的体系用户和群组
(11)关闭重启ctl-alt-delete组合键
(12)设置一些全局变量
(13)设置history历史记录
(14)centos6.4最小化安装后启动网卡
(15)添加普通用户,设置sudo权限
(16)克制root长途用户登录
(17)sed修改长途端口
(18)防火墙iptables设置。
(19)修改默认DNS
(20)安装必要软件,更新yum源 [epel源]
(21)更新内核和软件到最新版本
(22)去除上次登录的信息
41、请说出内核调优设置文件名字?举例几个内核必要优化的参数设置?
文件名称:/etc/sysctl.conf
以下表示开启TCP连接中TIME-WAIT sockets的快速收回功能,默认为 0 ,表示关闭。
- net.ipv4.tcp_tw_recycle = 1
复制代码 以下表示开启重用。答应将TIME-WAIT sockets重新用于新的 TCP 连接,默认为 0 表示关闭。
- net.ipv4.tcp_tw_reuse = 1
复制代码 在内核放弃创建连接之前发送SYN包的数量。 默认6(即时间为2^7-1 =127s)
- net.ipv4.tcp_syn_retries = 6
复制代码 #答应体系打开的端口范围
- net.ipv4.ip_local_port_range = 1024 65000
复制代码 最大打开文件数,单个进程可分配的最大文件数
表示体系级别的可以或许打开的文件句柄的数量。是对整个体系的限制,并不是针对用户的
42、当你必要给命令绑定一个宏或者按键的时间,应该怎么做呢?
可以利用bind命令,bind可以很方便地在shell中实现宏或按键的绑定。在进行按键绑定的时间,我们必要先获取到绑定按键对应的字符序列。
比方获取F12的字符序列获取方法如下:
先按下Ctrl+V,然后按下F12 .我们就可以得到F12的字符序列 ^[[24~。
接着利用bind进行绑定。
注意:类似的按键在差异的终端或终端模拟器下可能会产生差异的字符序列。也可以利用showkey -a命令检察按键对应的字符序列。
43、假如一个linux新手想要知道当前体系支持的全部命令的列表,他必要怎么做?
利用命令compgen -c,可以打印出全部支持的命令列表。如下图。
44、假如你的助手想要打印出当前的目录栈,你会发起他怎么做?
利用Linux 命令dirs可以将当前的目录栈打印出来。
45、你的体系目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把全部正在运行的进程移除呢?
利用Linux命令disown -r可以将全部正在运行的进程移除。
46、bash shell 中的hash 命令有什么作用?
linux命令hash管理着一个内置的哈希表,记录了已执行过的命令的完整路径, 用该命令可以打印出你所利用过的命令以及执行的次数。
47、哪一个bash内置命令可以或许进行数学运算?
bash shell 的内置命令let可以进行整型数的数学运算。
48、怎样一页一页地检察一个大文件的内容呢?
通过管道将命令”cat file_name.txt” 和 ’more’ 连接在一起可以实现这个必要.
49、数据字典属于哪一个用户的?
数据字典是属于’SYS’用户的,用户‘SYS’ 和 ’SYSEM’是由体系默认主动创建的。
50、怎样检察一个linux命令的概要与用法?
利用命令whatis 可以先出显示出这个命令的用法简要。
比方:可以利用whatis netstat 去检察netstat命令的介绍以及利用简要。如下图。
51、利用哪一个命令可以检察自己文件体系的磁盘空间配额呢?
利用命令repquota可以或许显示出一个文件体系的配额信息
52、如何检察 http 的并发请求数与其 TCP 连接状态?
- netstat -n | awk '/^tcp/ {++b[$NF]} END {for(a in b) print a, b[a]}'
复制代码 53、如何修改体系打开最大句柄数?
ulimit -n 检察 linux 体系打开最大的文件形貌符,这里默认 1024,不修改这里 web 服务器修改再大也没用。
修改/etc/security/limits.conf文件,修改内容如下。
- * soft nofile 10240
- * hard nofile 10240
复制代码 54、用 tcpdump 嗅探 80 端口的访问看看谁最高
- tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -5
复制代码 55、检察当前体系每个 IP 的连接数
- netstat -n | awk '/^tcp/ {print $5}'| awk -F: '{print $1}' | sort | uniq -c | sort -rn
复制代码 56、shell 下 32 位随机暗码天生
- cat /dev/urandom | head -1 | md5sum | head -c 32 >> /pass
复制代码 57.如何检察二进制文件的内容?
我们一般通过 hexdump 命令 来检察二进制文件的内容。
比方hexdump -C XXX(文件名), -C 是参数,差异的参数有差异的意义。
简单例举几个参数:
- -C 是比较规范的 十六进制和 ASCII 码显示
- -c 是单字节字符显示
- -b 单字节八进制显示
- -o 是双字节八进制显示
- -d 是双字节十进制显示
- -x 是双字节十六进制显示
复制代码 58、ps aux 中的 VSZ 代表什么意思,RSS 代表什么意思
VSZ:虚拟内存集,进程占用的虚拟内存空间
RSS:物理内存集,进程战用现实物理内存空间
59、如何检测并修复/dev/hda5?
fsck 用来检查和维护不一致的文件体系。若体系掉电或磁盘发生问题,可利用 fsck 命令对文件体系进行检查。
60、形貌Linux 体系的开机启动次序
加载 BIOS–>读取 MBR–>Boot Loader–>加载内核–>用户层 init 一句 inittab 文件来设定体系运行的品级(一般 3 或者 5,3 是多用户命令行,5 是界面)–>init 进程执行 rc.syninit–>启动内核模块–>执行差异级别运行的脚本程序–>执行/etc/rc.d/rc.local(本地运行服务)–>执行/bin/login,就可以登录了。
61、符号链接与硬链接的区别?
我们可以把符号链接,也就是软连接 当做是 windows 体系里的 快捷方式。
硬链接就好像是又复制了一份。
比方下述命令,这是硬链接,相当于复制,不可以跨分区,但修改 3.txt,4.txt会跟着变,若删除 3.txt,4.txt不受任何影响。
比方下述命令, 这是软连接,相当于快捷方式。修改 4.txt,3.txt也会跟着变,若删除3.txt,4.txt就坏掉了。不可以用了。
62、如何保存当前磁盘分区的分区表?
dd 命令是以个强盛的命令,在复制的同时进行转换
dd if=/dev/sda of=./mbr.txt bs=1 count=512
63、说说FTP 的主动模式和被动模式
FTP 协议有两种工作方式,PORT 方式和 PASV 方式,中文意思为主动式和被动式。
PORT(主动)方式的连接过程是:
客户端向服务器的 FTP 端口(默认是 21)发送连接请 求,服务器接受连接,创建一条命令链路。当必要传送数据时,客户端在命令链路上用 PORT 命令告诉服务器:“我打开了 XX 端口,你过来连接我”。于是服务器从 20 端口向客户端的 XX 端口发送连接请求,创建一条数据链路来传送数据。
PASV(被动)方式的连接过程是:
客户端向服务器的 FTP 端口(默认是 21)发送连接请 求,服务器接受连接,创建一条命令链路。当必要传送数据时,服务器在命令链路上用 PASV 命令告诉客户端:“我打开了 XX 端口,你过来连接我”。于是客户端向服务器的 XX 端口 发送连接请求,创建一条数据链路来传送数据。
从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的创建方法就完 全差异。
64、怎么把脚本添加到体系服务里,即用 service 来调用?
在脚本里加入如下内容,第一行脚本自带,第三举动脚本形貌,无现实意义。
- #!/bin/bash
- #chkconfig: 2345 85 15
- #description: httpd
复制代码 65、如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0
方式一:
- iptables-tnat -A PREROUTING -d 192.168.16.1 -p tcp –dport 80 -j DNAT –to192.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
复制代码 66、什么是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链上进行的。
67、包过滤防火墙与署理应用防火墙有什么区别,能列举几种相应的产品吗?
包过滤防火墙是根据包头进行的过滤,并且是处于网络层的,根据包的源ip地点,目的ip地点,协议类型,端标语,进行过滤;署理应用防火墙工作在应用层,他利用署理服务器技术,将内网对外网的访问,变为防火墙对外网的访问,可以对包的内容进行分辨,从而过滤。
署理应用防火墙:天融信GFW4000
包过滤防火墙:华为NE 16E
68、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
复制代码 69、说出你知道的几种linux/unix发行版本。
Redhat、CentOS、Fedora、SuSE、Slackware、Gentoo、Debian、Ubuntu、FreeBSD、Solaris、SCO、AIX、HP等等。
70、列出linux常见打包工具并写相应解压缩参数(至少三种)
tar、gz、bz三个打包工具。
Tar -xvzf
gzip -d
bzip2 -d
71、计划每星期天早8点服务器定时重启,如何实现?
执行以下命令:
输入以下内容:
72、列出作为完整邮件体系的软件,至少二类。
Sendmail,postfix,qmail
73、当用户在欣赏器当中输入一个网站,说说盘算机对dns解释经过那些流程?注:本机跟本地dns还没有缓存。
(1)用户输入网址到欣赏器;
(2)欣赏器发出DNS请求信息;
(3)盘算机起首查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继承下一步;
(4)盘算机按照本地DNS的次序,向合法dns服务器查询IP结果;
(5)合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果;
(6)返回IP结果给欣赏器;
(7)欣赏器根据IP信息,获取页面;
74、我们都知道,dns既接纳了tcp协议,又接纳了udp协议,什么时间接纳tcp协议?什么时间接纳udp协议?为什么要这么设计?
这个题必要理解的东西比较的多,分以下两个方面:
(1)从数据包大小上分:UDP的最大包长度是65507个字节,相应dns查询的时间数据包长度凌驾512个字节,而返回的只要前512个字节,这时名字 解释器通常利用TCP从发原来的请求。
(2)从协议本身来分:大部分的环境下利用UDP协议,大家都知道UDP协议是一种不可靠的协议,dns不像其它的利用UDP的Internet应用 (如:TFTP,BOOTP和SNMP等),大部分会合在局域网,dns查询和相应必要经过广域网,分组丢失和往返时间的不确定性在广域网比局域网上更大,这就要求dns客户端必要好的重传和超时算法,这时间利用TCP。
75、一个EXT3的文件分区,当利用touch test.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是接纳df -h命令检察磁盘大小时,只利用了,60%的磁盘空间,为什么会出现这个环境,说说你的理由。
两种环境,一种是磁盘配额问题,另外一种就是EXT3文件体系的设计不得当很多小文件跟大文件的一种文件格式,出现很多小文件时,容易导致inode耗尽了。
76、我们都知道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进行监听,然后用PORTP命令关照客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。
被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的环境,由于在这种环境下,防火墙通常设置为不答应外界访问防火墙之后主机,而只答应由防火墙之后的主机发起的连接请求通过。
因此,在这种环境下不能利用主动模式的FTP传输,而被动模式的FTP可以良好的工作。
77、编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下
该问题主要是考察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! ”
复制代码 78、apache有几种工作模式,分别介绍下其特点,并说明什么环境下接纳差异的工作模式?
apache主要有两种工作模式:prefork(apache的默认安装模式)和worker(可以在编译的时间加参数–with-mpm- worker选择工作模式)
prefork的特点是:
(1)这种模式可以不必在请求到来时再产生新的进程,从而减小了体系开销
(2)可以防止不测的内存走漏
(3)在服务器负载降落的时间会主动镌汰子进程数
worker的特点是:
支持混淆的多线程多进程的多路处置惩罚模块。假如对于一个高流量的HTTP服务器,worker MPM是一个比较好的选择,由于worker MPM占用的内存要比prefork要小。
79、名词解释:请解释以下词的含义?
比方解释以下名词:HDLC,VTP,OSPF,RIP,DDOS,systemV,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命令显示的参数,客户端正在等待。
80、编写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
复制代码 81、在命令行下发一邮件,发件人:123@abc.com,收信人:abc@xyz.com
利用mail命令
- mail -s "hello" abc@xyz.com
复制代码 82、linux下如何改IP、主机名、DNS?
setup命令:
可以修改IP 和DNS ,修改完后执行重启网络利用命令service network restart
,临时修改即时收效,重启后失效。
Hostname命令:
修改主机名
Ifconfig命令修改IP:
Ifconfig eth0 IP netmask 掩码
永久修改主机名:
修改:/etc/sysconfig/network 文件,修改HOSTNAME=主机名
永久修改IP地点:
修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,修改完后执行重启网络命令service network restart
83、linux下如何添加路由?
添加到主机路由
- route add –host 192.168.168.110 dev eth0
- route add –host 192.168.168.119 gw 192.168.168.1
复制代码 添加到网络的路由
- route add –net IP netmask MASK deveth0
- route add –net IP netmask MASK gw IP
复制代码 添加默认网关
删除路由
- route del –host 192.168.168.110 dev eth0
复制代码 84、简述linux下编译内核的意义与步调
编译内核的意义在于让硬件装备更稳固的发挥其应有的效能;
内核编译:
(1)内核裁减
(2)打补丁
(3)添加新功能/模块
步调:
(1)下载新内核源代码
(2)设置内核编译参数:make menuconfig
(3)选择必要添加的模块
(4)开始编译
(5)安装编译好到模块和内核
(6)修改GRUB启动菜单,增加利用新内核启动到项目
85、简述DDOS攻击的原理
黑客挟制大量傀儡主机,对目的服务器进行合理的资源请求,导致服务器资源耗尽而不能进行正常的服务。
86、简述Tcp三次握手的过程
第一次握手,创建连接,客户端发送SYN包到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手,服务器收到SYN,同时自己也发送一个SYN包和一个ACK包来确认客户端的SYN,并进入SYN_RECV;
第三次握手,客户端收到服务器发来的SYN+ACK后,复兴服务器端一个ACK确认,发送完毕后,双方进入ESTABLISHED状态。
三次握手成功后,开始传输数据。
87、简述VPN,常见有哪几种?
VPN是指在公共的网络上创建专用网络的技术,但是两个节点间并没有物理上的专用的端到端链路,而是通过广域网或者运营商提供的网络平台之上的逻辑网络,用户数据在逻辑链路中传输,它可以有效的节省一般必要到达DDN专线所能到达的同样的目的,而且VPN接纳身份验证和加密技术,充实保证了安全性。常见的VPN有:ipsec vpn、PPTPvpn、L2TP vpn、SSL vpn
88、解释下什么是GPL,GNU,自由软件?
GPL:(通用公共许可证):一种授权,任何人有权取得、修改、重新发布自由软件的权利。
GNU 革奴计划):目的是创建一套完全自由、开放的的操作体系。
自由软件:是一种可以不受限制地自由利用、复制、研究、修改和分发的软件。主要许可证有GPL和BSD许可证两种。
89、如何选择Linux操作体系版本?
一般来讲,桌面用户首选Ubuntu;服务器首选RHEL或CentOS,两者中首选CentOS。
根据具体要求:
(1)安全性要求较高,则选择Debian或者FreeBSD。
(2)必要利用数据库高级服务和电子邮件网络应用的用户可以选择SUSE。
(3)想要新技术新功能功能可以选择Feddora,Feddora是RHEL和CentOS的一个测试版和预发布版本。
(4)根据现有状况,绝大多数互联网公司选择CentOS。如今比较常用的是6系列,如今市场占据大概一半左右。另外的原因是CentOS更侧重服务器领域,并且无版权束缚。
90、初学者在Linux体系的开机启动项如何选择?
发起选择五个开机启动项:
(1)crond: 该服务用于周期地执行体系及用户设置的计划任务。有要周期性执行的任务计划必要开启,此服务是生产场景必须要用的一个软件。
(2)iptables: iptables包过滤防火墙,有外网IP时,考虑开启。
(3)network: 启动体系时,若想激活/关闭启动时的各个网络接口,则应(必须)考虑开启。
(4)sshd: 长途连接Linux服务器时必要用到这个服务程序,以是必须要开启,否则将无法长途连接到Linux服务器。
(5)rsyslog: 是操作体系提供的一种机制,体系的保卫程序通常会利用rsyslog将各种信息收集写入到体系日志文件中,CentOS6从前此服务的名字为syslog。
(6)sysstat: 是一个软件包,包含监测体系性能及服从的一组工具,这些工具对于Linux体系性能数据很有帮助,比如CPU利用率、硬盘和网络吞吐数据等,这些数据的分析,有利于判断体系运行是否正常,以是它是提高体系运行服从、安全运行服务的助手。
91、请形貌Linux体系优化的12个步调。
(1)登录体系:不利用root登录,通过sudo授权管理,利用普通用户登录。
(2)克制SSH长途:更改默认的长途连接SSH服务及克制root长途连接。
(3)时间同步:定时主动更新服务器时间。
(4)设置yum更新源,从国内更新下载安装rpm包。
(5)关闭selinux及iptables(iptables工作场景如有wan ip,一般要打开,高并发除外)
(6)调解文件形貌符数量,进程及文件的打开都会斲丧文件形貌符。
(7)定时主动清算/var/spool/clientmquene/目录垃圾文件,防止节点被占满(c6.4默认没有sendmail,因此可以不配。)
(8)精简开机启动服务(crond、sshd、network、rsyslog)
(9)Linux内核参数优化/etc/sysctl.conf,执行sysct -p收效。
更改字符集,支持中文,但是还是发起利用英文,防止乱码问题出现。
(10)锁定关键体系文件(chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 处置惩罚以上内容后,把chatter改名,就更安全了。)
(11)清空/etc/issue,去除体系及内核版本登岸前的屏幕显示。
92、形貌Linux运行级别0-6的各自含义
0:关机模式
1:单用户模式<==破解root暗码
2:无网络支持的多用户模式
3:有网络支持的多用户模式(文本模式,工作中最常用的模式)
4:保留,未利用
5:有网络支持的X-windows支持多用户模式(桌面)
6: 重新引导体系,即重启
93、形貌Linux体系从开机到登岸界面的启动过程
(1)开机BIOS自检,加载硬盘。
(2)读取MBR,MBR引导。
(3)grub引导菜单(Boot Loader)。
(4)加载内核kernel。
(5)启动init进程,依据inittab文件设定运行级别
(6)init进程,执行rc.sysinit文件。
(7)启动内核模块,执行差异级别的脚本程序。
(8)执行/etc/rc.d/rc.local
(9)启动mingetty,进入体系登岸界面。
94、形貌Linux下软链接和硬链接的区别
在Linux体系中,链接分为两种,一种是硬链接(Hard link),另一种称为符号链接或软链接(Symbolic Link)。
(1)默认不带参数的环境下,ln创建的是硬链接,带-s参数的ln命令创建的是软链接。
(2)硬链接文件与源文件的inode节点号类似,而软链接文件的inode节点号,与源文件差异,
(3)ln命令不能对目录创建硬链接,但可以创建软链接。对目录的软链接会经常利用到。
(4)删除软链接文件,对源文件和硬链接文件无任何影响。
(5)删除文件的硬链接文件,对源文件及软链接文件无任何影响。
(6)删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)。
(7)同时删除源文件及其硬链接文件,整个文件才会被真正的删除。
(8)很多硬件装备的快照功能,利用的就是类似硬链接的原理。
(9)软链接可以跨文件体系,硬链接不可以跨文件体系。
95、生产场景如何对linux体系进行合理规划分区?
分区的根本原则是简单、易用、方便批量管理。根据服务器角色定位发起如下:
(1)单机服务器:如8G内存,300G硬盘
分区: /boot 100-200M,swap 16G,内存大小8G*2,/ 80G,/var 20G(也可不分),/data 180G(存放web及db数据)
优点:数据盘和体系盘分开,有利于出问题时维护。
RAID方案:视数据及性能要求,一般可接纳raid5折中。
(2)负载均衡器(如LVS等)
分区:/boot 100-200M,swap 内存的1-2倍,/ ,
优点:简单方便,只做转发数据量很少。
RAID方案:数据量小,紧张性高,可接纳RAID1
(3)负载均衡下的RS server
分区: /boot 100-200M,swap 内存的1-2倍,/
优点:简单方便,由于有多机,对数据要求低。
RAID方案:数据量大,紧张性不高,有性能要求,数据要求低,可接纳RAID0
(4)数据库服务器mysql及oracle如16/32G内存
分区:/boot 100-200M,swap 16G,内存的1倍,/ 100G,/data 剩余(存放db数据)
优点:数据盘和体系盘分开,有利于出问题时维护,及保持数据完整。
RAID方案:视数据及性能要求主库可接纳raid10/raid5,从库可接纳raid0提高性能(读写分离的环境下。)
(5)存储服务器
分区:/boot 100-200M,swap 内存的1-2倍,/ 100G,/data(存放数据)
优点:此服务器不要分区太多。只做备份,性能要求低。容量要大。
RAID方案:可接纳sata盘,raid5
(6)共享存储服务器(如NFS)
分区:/boot 100-200M,swap 内存的1-2倍,/ 100G,/data(存放数据)
优点:此服务器不要分区太多。NFS共享比存储多的要求就是性能要求。
RAID方案:视性能及访问要求可以raid5,raid10,甚至raid0(要有高可用或双写方案)
(7)监控服务器cacti,nagios
分区:/boot 100-200M,swap 内存的1-2倍,/
优点:紧张性一般,数据要求也一般。
RAID方案:单盘或双盘raid1即可。三盘就RAID5,看容量要求加盘即可。
96、形貌Linux下文件删除的原理
Linux体系是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时间,这个文件才会被删除。一般来说每个文件两个link计数器来控制i_count和i_nlink。当一个文件被一个程序占用的时间i_count就加1。当文件的硬链接多一个的时间i_nlink也加1。删除一个文件,就是让这个文件,没有进程占用,同时i_link数量为0。
97、请简单形貌VI编辑器的利用
(1)vi编辑器是linux体系下最最基本和最常用的标准文本编辑器。
(2)vi编辑器有三种工作模式:普通模式、编辑模式、命令模式。
(3)普通模式下的键盘输入任何字符都是看成命令来执行的,也可以输入命令进行光标的移动,字符、单词、行的复制、粘帖以及删除等操作。
(4)编辑模式主要用于文本的输入。在该模式下,用户输入的任何字符都被作为文件的内容保存起来。
(5)命令模式下,用户可以对文件进行一些如字符串查找、更换、显示行号等操作还是必须要进入命令模式的。
(6)在普通模式下输入冒号即可进入命令模式,此时vi窗口的状态行会显示出冒号,等待用户输入命令。“i”插入模式,即可以进行编辑。用户输入完成后,按【Esc】之后编辑器又返回到普通模式下,在命令模式下,保存退出,可以利用的命令为wq和x。前面加!表示强制退出,强制保存等。
98、请简单说出用户管理的相关命令及用途
(1)组管理命令
groupadd #添加组
groupdel #删除用户组
groupmod #修改用户组
groups #显示当前用户所属的用户组
grpck #检查用户组及暗码文件的完整性(etc/group以及/etc/gshadow文件)
grpconv #通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,假如/etc/gshadow 不存在则创建;
grpunconv #通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件 。
(2)用户管理命令
useradd #添加用户
adduser #添加用户
passwd #为用户设置暗码
usermod #修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等
pwcov #同步用户从/etc/passwd 到/etc/shadow
pwck #pwck是校验用户设置文件/etc/passwd 和/etc/shadow文件内容是否合法或完整
pwunconv #执行pwunconv指令可以关闭用户投影暗码,它会把暗码从shadow文件内,重回存到passwd文件里。
finger #检察用户信息工具(伤害命令,一般不消)
id #检察用户的UID、GID及所归属的用户组
chfn #更改用户信息工具
su #用户切换工具
99、请简述根本正则表达式grep高级参数的利用
常用参数:
“-v”排除匹配内容,
“-e”支持扩展的正则表达式,
“-i”忽略大小写,
“-o”输出匹配的内容(只是一块,不是行),
“–color=auto” 匹配内容显示颜色,
“-n” 在行首显示行号。
特殊字符注意事项:
“^”(尖括号)word ,表示搜索以word开头的内容。
word$ 表示搜索以word末端的内容。
“^$ ”表示的是空行,不是空格。
“.” 代表且只能代表任意一个字符。非正则表达式其他功能(当前目录,加载文件)
\ 转义字符,让有着特殊身份意义的字符,脱掉马甲,还原原型。比方.只表示原始小数点意义。
“* ” 表示重复0个或多个前面的一个字符。不代表全部。
“.* ” 表示匹配全部的字符。^.*表示以任意字符开头。
[任意字符如abc] 匹配字符集内任意一个字符[a-z]。 [^abc] ^在中括号内里是非的意思,不包含之意。意思就是不包含a或b或c的行。
{n,m} 表示重复n到m次前一个字符。{n}至少n次,多了不限。{n}N次,{,m}至多m次,少了不限。
注:利用grep或sed要对{}转义。即\{\}.egrep就不必要转义了。
100、请简述根本正则表达式sed高级参数的利用
解答:
-n取消默认输出
-p 打印
-d删除
-e答应多项编辑
sed取行,要特殊注意sed -n ‘s###g’ filename 的利用,sed的的功能可以记着正则表达式的一部分,其中,\1为第一个记着的模式即第一个小括号中的匹配内容,\2第二记着的模式,即第二个小括号中的匹配内容,sed最多可以记着9个。
现实字符的选取最好要唯一,正则表达式是贪婪的,总是尽可能的匹配更远的符合匹配的内容。另外注意字符串中的空格。
101、请给出检察当前哪些用户在线的Linux命令
w #显示目前体系登录用户
who #显示目前已登录用户信息
last #列出目前与过去登入体系的用户相关信息
lastlog #检查某特定用户上次登录时间
whoami #打印与当前收效的用户ID关联的用户名
finger #用户信息查找程序
id #显示指定用户或当前用户的用户与组信息
102、请你形貌下crontab的作用和语法,以及书写定时任务注意的要点。
设置crontab后我们可以使得Linux主动执行的在固定的间隔时间,执行指定的体系指令或 shell script脚本。生产环境可以用来日志分析或生产备份等。
语法格式:
crontab [ -u user ] file ===》-u的意思就是指定用户
crontab [ -u user ] { -l 显示文件内容| -r全部删除crontab文件 | -e 编辑crontab文件| -i删除crontab文件前确认提示}
举例:
- */5 10,12 * 3-8 * * /usr/sbin/ntpdate 10.0.0.155 >/dev/null 2>&1
复制代码 前五段是时间间隔的设定,单元分别是分钟、小时、日、月、周(尽量避免利用日月和周同时出现,以免造成体系误判)。
第一个时间段 分钟 范围0-59
第二个时间段 小时 范围0-23
第三个凡间段 日 范围1-31
第四个时间段 月 范围1-12
第五个时间段 周 范围0-7
“*”星号代表任何时间都接受命令
“,”逗号,表示隔开。代表分隔的时间都适用此命令。
“-”减号,两个时间段之间,代表在此时间段内执行定时任务。
/n斜线和n(数字)表示每隔n段时间执行一次。
注意要点分为:书写基本要领与书写注意事项,掌握7个基本要领:
第一、为定时任务规则加必要的注释
第二、定时任务命令或程序最好写到脚本里执行
第三、定时任务执行的脚本要规范路径,如:/server/scripts
第四、执行shell脚本任务时前加/bin/sh
执行定时任务时,假如是执行脚本,尽量在脚本前面带上/bin/sh命名
第五、定时任务末端加 >/dev/null 2>&1
第六、/dev/null为特殊的字符装备文件,表示黑洞装备或空装备。
第七、有关重定向的说明
“>或1> ” 输出重定向:把前面输出的东西输入到后边的文件中,会删除文件原有内容。
“>>或1>>” 追加重定向:把前面输出的东西追加到后边的文件中,不会删除文件原有内容。
“<或<0 ” 输入重定向:输入重定向用于改变命令的输入,指定输入内容,后跟文件名。
“<<或<<0” 输入重定向:后跟字符串,用来表示“输入结束”,也可用ctrl+d来结束输入。
“2>” 错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容。
“2>>” 错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容。
标准输入(stdin):代码为0,利用<或<<。
标准输出(stdout):代码为1,利用>或>>。正常的输出。
标准错误输出(sederr):代码为2,利用2>或2>>。
特殊记忆:
“2>&1”就是把标准错误重定向到标准输出(>&)。
- >/dev/null 2>&1 等价于 1>/dev/null 2>/dev/null
复制代码 103、请列出Linux中你认为紧张的文件夹及包含内容
(1)/目录下的文件夹内里分别是以下内容:
/usr 包含全部的命令和程序库、文档和其他文件及当前linux发行版的主要应用程序
/var 包含正在操作的文件,还有记录文件、加密文件、临时文件等
/home 除了root用户外的全部效户的设置文件,个性化文件和主目录,即家目录
/proc 虚拟目录,该目录现实上指向内存而不是硬盘
/bin 体系执行文件(二进制文件)普通用户可以利用
/sbin 体系执行文件(二进制文件)不能被普通用户利用,通常由root用户利用
/etc 操作体系的设置文件
/root root用户的家目录
/dev 体系装备文件,linux全部装备都是以文件的情势被处置惩罚,该目录不包含驱动程序
/lib 程序和核心模块共享库(仅限于/下的程序)
/boot 体系引导、启动文件,通常grub也在这里
/opt 可选应用程序目录
/tmp 临时文件,体系会主动清算
/lost+found 规复文件(类似回收站)
/media 全部的磁盘(有时有光盘)将以文件夹的情势挂载,光盘镜像也可以挂载
/cd-rom 挂载光盘的地方
(2) /usr目录下的文件比较紧张,其作用下面分类列出:
/usr/X11 X-windows桌面环境
/usr/doc linux体系的文档资料
/usr/share 独立于当前盘算机的数据结构,如字典中的词
/usr/bin 类似/bin但是不到场启动,大部分命令都在这里
/usr/local 本地管理员安装的应用程序
/usr/local/bin 用户安装的应用程序(部分)
(3) /proc目录的内容
/proc/cpuinfo 处置惩罚器的信息
/proc/devices 当前运行内核的全部装备清单
/proc/dma 当前正在利用中的DMA通道
/proc/filesystem 当前运行内核所设置的文件体系
/proc/interrupts 当前利用的中断和曾经有多少个中断
/proc/ioports 正在利用的I/O端口
104、给出正确的关机和重启服务器的命令
(1)shutdown
[-t] 指定在多长时间之后关闭体系 [-r] 重启体系 [-k] 并不真正关机,只是给每个登录用户发送警告信号 [-h] 关闭体系(halt)
(2)halt
halt是最简单的关机命令,其现实上是调用shutdown -h命令。halt执行时,杀死应用进程,文件体系写操作完成后就会制止内核。
halt命令的部分参数如下:
[-f] 没有调用shutdown而强制关机或重启 [-i] 关机或重新启动之前,关掉全部的网络接口 [-p] 关机时调用poweroff,此选项为缺省选项
(3)reboot
reboot工作过程与halt类似,作用是重新启动,而halt是关机。其参数与halt类似。
(4)init
init是全部进程的先人,其进程号始终为1。init用于切换体系的运行级别,切换的工作是立即完成的。init 0命令用于立即将体系运行级别切换为0,即关机;init 6命令用于将体系运行级别切换为6,即重新启动。
105、请简述修改/etc/sudoers设置文件的注意事项
(1)别名的名称可以包含大写字母。数字、下划线。假如是字母必须要大写,(别名为一群拥有类似属性的集合)。
(2)一个别名下面可以有多个成员,成员间通过半角(,)逗号隔开。成员必须有效现实存在。
别名成员受别名类型 Host_Alias、User_Alias、Runas_Alias、Cmnd_Alias制约,定义什么类型的别名,就要有相什么类型的成员匹配。
(3)用户组前面必须加%号。命令别名下的成员必须是文件或目录的绝对路径。
(4)指定切换用户要用()括号括起来,假如省略,则默认root用户,假如括号里是ALL,则代表能切换到全部效户。
(5)命令路径要利用全路径。
(6)别名规则每行算一个规则,一行容不下时用\续行。另外凌驾一行,用反斜线换行。
(7)一般不发起先给all权限,反面排除。用什么权限,就给什么权限。(注意权限,语法)。
假如不必要暗码直接运行命令的应该加NOPASSWD参数。
(8)克制某类程序或命令执行,要在命令动作前面加上“!”号,并放在答应执行命令之后。
106、请形貌如何实现linux体系集权分治的权限分级精细管理?
(1)收集以及制定用户和权限的匹配信息,原则是给于最小权限,但是又能完成所承担的工作职责。
(2)各个用户组设置对应权限,用什么给什么,精细到每一条指令上根据分组环境。
(3)创建规划权限分组的用户.添加相关用户组。并修改etc/sudoers设置文件。
(4)增加sudo的权限开放,确定相关用户加入如soduers权限列表,并详细设置所开放权限内容,并选择是否必要暗码的相关执行权限开放。(注意ALL权限,以及暗码修改权限设置)。
(5)不发起先给all权限,反面排除。发起利用白名单。
(6)实战调试测试相关权限是否正确设置完成。
(7)编写操作说明,及相关注意事项。
(8)调试完毕,邮件周知全部相关职员体系权限设置收效,并附带操作说明及相关注意事项。
107、请写出下面Linux SecureCRT命令行快捷键命令的功能?
Ctrl + a 光标到开头
Ctrl + c 中断当出息序
Ctrl + d 退出当前窗口或当前用户
Ctrl + e 光标到末端
Ctrl + l 清屏 相当与clear
Ctrl + u 剪切、删除(光标从前的)内容
Ctrl + k 剪切、删除(光标以后的)内容
Ctrl + r 查找(迩来用过的命令)
tab 全部路径以及补全命令
Ctrl+shift+c 命令行复制内容
Ctrl+shift+v 命令行粘贴内容
Ctrl + q 取消屏幕锁定
Ctrl + s 执行屏幕锁定
108、请形貌服务器账户日志审计的4种办理方案。
(1)通过环境变量syslog对全部全部日志进行审计(信息量太大,不保举)
(2)sudo共同syslog服务,进行sudo操作日志进行审计(信息较少,效果不错)
(3)在bash解释器嵌入一个监视器,让全部效户利用修改过的bash程序,作为解释程序。
(4)齐治的堡垒机(贸易产品)。
109、假如一台办公室内主机无法上网(打不开网站),请给出你的排查步调?
(1)起首确定物理链路是否联通正常。
(2)检察本机IP,路由,DNS的设置环境是否达标。
(3)telnet检查服务器的WEB有没有开启以及防火墙是否拦阻。
(4)ping一下网关,进行最根本的检查,通了,表示可以或许到达服务器。
(5)测试到网关或路由器的通常环境,先测网关,然后再测路由器一级一级的测试。
(6)测试ping公网ip的通常环境(记着几个外部IP),
(7)测试DNS的通畅。ping出对应IP。
(8)通过以上检查后,还在网管的路由器上进行检查。
110、形貌Linux shell中单引号、双引号及不加引号的简单区别?
单引号:所见即所得,即将单引号内的内容原样输出,或者形貌为单引号内里看到的是什么就输出什么。
双引号:把双引号内里的内容给输出出来,假如内容中有命令、变量等,会先把,变来谁人、命令解析出结果,然后输出最终内容。
双引号内的命令或者变量写法’命令或变量’或$(命令或变量)
无引号:把内容输出出来,可能不会键含有空格的字符串,视为一个整体输出,假如内容中有命令、变量等,会先把变量、命令解析出来,然后输出最终内容,假如字符串中带有空格等特殊字符,则不能完整输出,必要改加双引号。一般连续的字符串,数字,路径等可以用,不过最好用双引号,替代之。
111、请简述Linux启动过程中几个紧张设置文件的执行过程
Linux登录后,设置执行次序为(Debian Serials Capable):
/etc/environment -> /etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
关于各个文件的作用说明:
(1)/etc/environment:此设置文件设置基本的PATH变量,及体系当前语言变量,固然比较短,但却在体系启动中占据举足轻重的作用,比如如下是我的体系中的内容:
(2)/etc/profile: 此文件为体系的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的设置文件中搜集shell的设置。
(3)/etc/bash.bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
(4)~/.bash_profile: 每个用户都可利用该文件输入专用于自己利用的shell信息,当用户登录时,该文件仅仅执行一次!默认环境下,他设置一些环境变量,执行用户的.bashrc文件。
(5)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(6)~/.bash_logout: 当每次退出体系(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
(7)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致类似,以是通常前者会调用后者。
112、请形貌下列路径的内容是做什么的?
/var/log/messages 体系日志文件
/var/log/secure 体系安全文件(显示登录信息的文件)
/var/spool/clientmqueue 例行性任务回执邮件存放文件
/proc/interrupts 当前体系中断陈诉文件
/etc/fstab 开机主动挂载磁盘的设置文件
/etc/profile 环境变量存放的文件
113、请给出Linux中eth0的IP地点和广播地点的指令,需利用cut、awk、grep、sed指令。
第一种方法:利用grep和cut取值
第二种方法:利用grep和awk(默认分隔符为空格)取值
第三种方法:利用grep和awk(多分隔符)
第四种方法:利用sed和awk
第五种方法:利用grep和awk(多分隔符与加号+)
第六种方法:awk (分隔符及取行)
第七种方法:grep 网卡文件
第八种方法:head取行 awk分割
114、请输出你知道的20 个LINUX 命令及作用
cp 复制 -a(drp),-r拷贝目录 -p保持属性
mv 移动文件或目录
mkdir 创建目录 -p递归创建目录 mkdir /a/b/c
touch 创建文件,
cd 切换目录(~当前用户家目录,-上一次的目录)
cat 检察文件内容 -n显示行号
ls 检察目录下文件,-l长格式,-d检察目录**********
rm 删除文件或目录 -r目录 -f强制删除(慎用,mv,find)
find 查找文件或目录 -type 类型(f,d,l,c,b),-name名字 -exec执行动作*****
alias 检察及设置别名
unalias 取消别名
seq 打印序列 -s指定分割符 -w数字前面加0补齐位数
head 检察文件前N行,默认10行,-n指定行数
tail 检察文件后N行,默认10行,-n指定行数,-f及时跟踪文件末端的变化
sed linux三剑客老二,文件增删改查,*****
pwd打印当前工作目录
rmdir 删除空目录
echo 显示输出
xargs (共同find,ls)等查找到的内容处置惩罚,-n分组
tree -L层数 -d目录
rpm -q query查询 -a all
uname -r内核 -m32位还是64位 -a全部信息, -n主机名(hostname)
hostname 主机名
whoami 检察当前用户
useradd 添加用户
passwd 改暗码,–stdin 非交互设置暗码
su 切换用户角色,-切换环境变量
115、什么是运维?什么是游戏运维?
(1)运维是指大型组织已经创建好的网络软硬件的维护,就是要保证业务的上线与运作的正常,
在他运转的过程中,对他进行维护,他集合了网络、体系、数据库、开发、安全、监控于一身的技术
运维又包罗很多种,有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等
(2)游戏运维又有分工,分为开发运维、应用运维(业务运维)和体系运维
开发运维:是给应用运维开发运维工具和运维平台的
应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查
体系运维:是给应用运维提供业务上的根本办法,比如:体系、网络、监控、硬件等等
总结:开发运维和体系运维给应用运维提供了“工具”和“根本办法”上的支撑
开发运维、应用运维和体系运维他们的工作是环环相扣的
116、在工作中,运维职员经常必要跟运营职员打交道,叨教运营职员是做什么工作的?
游戏运营要做的一个事情除了协调工作以外,还必要与各平台沟通,做好开服的时间、开服数、用户导量、运动等计划
117、如今给你三百台服务器,你怎么对他们进行管理?
管理三百台服务器的方式:
(1)设定跳板机,利用统一账号登录,便于安全与登录的考量。
(2)利用salt、ansiable、puppet进行体系的统一调度与设置的统一管理。
(3)创建简单的服务器的体系、设置、应用的cmdb信息管理。便于查阅每台服务器上的各种信息记录。
118、简述raid0 raid1 raid5 三种工作模式的工作原理及特点
RAID,可以把硬盘整合成一个大磁盘,还可以在大磁盘上再分区,放数据
还有一个大功能,多块盘放在一起可以有冗余(备份)
RAID整合方式有很多,常用的:0 1 5 10
RAID 0,可以是一块盘和N个盘组合
其优点读写快,是RAID中最好的
缺点:没有冗余,一块坏了数据就全没有了
RAID 1,只能2块盘,盘的大小可以不一样,以小的为准
10G+10G只有10G,另一个做备份。它有100%的冗余,缺点:浪费资源,成本高
RAID 5 ,3块盘,容量盘算10*(n-1),丧失一块盘
特点,读写性能一般,读还好一点,写不好
冗余从好到坏:RAID1 RAID10 RAID 5 RAID0
性能从好到坏:RAID0 RAID10 RAID5 RAID1
成本从低到高:RAID0 RAID5 RAID1 RAID10
单台服务器:很紧张盘不多,体系盘,RAID1
数据库服务器:主库:RAID10 从库 RAID5\RAID0(为了维护成本,RAID10)
WEB服务器,假如没有太多的数据的话,RAID5,RAID0(单盘)
有多台,监控、应用服务器,RAID0 RAID5
我们会根据数据的存储和访问的需求,去匹配对应的RAID级别
119、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
LVS: 是基于四层的转发。
HAproxy: 是基于四层和七层的转发,是专业的署理服务器。
Nginx: 是WEB服务器,缓存服务器,又是反向署理服务器,可以做七层的转发。
区别:
LVS由于是基于四层的转发以是只能做端口的转发而基于URL的、基于目录的这种转发LVS就做不了。
工作选择:
HAproxy和Nginx由于可以做七层的转发,以是URL和目录的转发都可以做在很大并发量的时间我们就要选择LVS,像中小型公司的话并发量没那么大选择HAproxy或者Nginx足已,由于HAproxy由是专业的署理服务器设置简单,以是中小型企业保举利用HAproxy
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
Squid、Varinsh和Nginx都是署理服务器
什么是署理服务器:
能当替用户去访问公网,并且能把访问到的数据缓存到服务器本地,等用户下次再访问类似的资源的时间,署理服务器直接从本地回应给用户,当本地没有的时间,我取代你去访问公网,我接收你的请求,我先在我自已的本地缓存找,假如我本地缓存有,我直接从我本地的缓存里复兴你
假如我在我本地没有找到你要访问的缓存的数据,那么署理服务器就会取代你去访问公网
区别:
(1)Nginx原来是反向署理/web服务器,用了插件可以做做这个副业
但是本身不支持特性挺多,只能缓存静态文件
(2)从这些功能上。varnish和squid是专业的cache服务,而nginx这些是第三方模块完成
(3)varnish本身的技术上优势要高于squid,它接纳了可视化页面缓存技术
在内存的利用上,Varnish比Squid具有优势,性能要比Squid高。
还有强盛的通过Varnish管理端口,可以利用正则表达式快速、批量地扫除部分缓存
它是内存缓存,速率一流,但是内存缓存也限制了其容量,缓存页面和图片一般是挺好的
(4)squid的优势在于完整的巨大的cache技术资料,和很多的应用生产环境
工作中选择:
要做cache服务的话,我们肯定是要选择专业的cache服务,优先选择squid或者varnish。
120、Tomcat和Resin有什么区别,工作中你怎么选择?
区别:
Tomcat用户数多,可参考文档多,Resin用户数少,可考虑文档少
最主要区别则是Tomcat是标准的java容器,不过性能方面比resin的要差一些
但稳固性和java程序的兼容性,应该是比resin的要好
工作中选择:
如今大公司都是用resin,追求性能;而中小型公司都是用Tomcat,追求稳固和程序的兼容
121、什么是中间件?什么是jdk?
中间件介绍:
中间件是一种独立的体系软件或服务程序,分布式应用软件借助这种软件在差异的技术之间共享资源。中间件位于客户机/ 服务器的操作体系之上,管理盘算机资源和网络通讯
是连接两个独立应用程序或独立体系的软件。相连接的体系,纵然它们具有差异的接口
但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递
通过中间件,应用程序可以工作于多平台或OS环境。
jdk:
jdk是Java的开发工具包。它是一种用于构建在Java平台上发布的应用程序、applet和组件的开发环境
122、讲述一下Tomcat8005、8009、8080三个端口的含义?
8005:关闭时利用
8009:为AJP端口,即容器利用,如Apache能通过AJP协议访问Tomcat的8009端口
8080:一般应用利用
123、什么叫CDN?
CDN是内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,利用户可就近取得所需的内容,提高用户访问网站的速率。
124、什么叫网站灰度发布?
灰度发布是指在黑与白之间,可以或许平滑过渡的一种发布方式。
AB test就是一种灰度发布方式,让一部用户继承用A,一部分用户开始用B,假如用户对B没有什么反对意见,那么徐徐扩大范围,把全部效户都迁徙到B上面来。灰度发布可以保证整体体系的稳固,在初始灰度的时间就可以发现、调解问题,以保证其影响度。
125、简述DNS进行域名解析的过程?
比方用户要访问http://www.baidu.com,会先找本机的host文件,再找本地设置的DNS服务器,假如也没有的话,就去网络中找根服务器,根服务器反馈结果,说只能提供一级域名服务器.cn,就去找一级域名服务器,一级域名服务器说只能提供二级域名服务器.com.cn,就去找二级域名服务器,二级域服务器只能提供三级域名服务器.http://baidu.com.cn,就去找三级域名服务器,三级域名服务器恰好有这个网站http://www.baidu.com,然后发给请求的服务器,保存一份之后,再发给客户端。
126、RabbitMQ是什么东西?
RabbitMQ也就是消息队列中间件,消息中间件是在消息的传息过程中保存消息的容器
消息中间件再将消息从它的源中到它的目的中标时充当中间人的作用。
队列的主要目的是提供路由并保证消息的传递;假如发送消息时接收者不可用消息队列不会保留消息,直到可以成功地传递为止,当然,消息队列保存消息也是有期限地。
127、讲一下Keepalived的工作原理?
在一个虚拟路由器中,只有作为MASTER的VRRP路由器会不停发送VRRP告示信息,
BACKUP不会抢占MASTER,除非它的优先级更高。多台BACKUP中优先级最高的这台会被抢占为MASTER。这种抢占是非常快速的(<1s),以保证服务的连续性。于安全性考虑,VRRP包利用了加密协议进行加密。BACKUP不会发送告示信息,只会接收告示信息。
128、讲述一下LVS三种模式的工作过程?
LVS 有三种负载均衡的模式,分别是VS/NAT(nat 模式) VS/DR(路由模式) VS/TUN(隧道模式)
(1)NAT模式(VS-NAT)
原理:就是把客户端发来的数据包的IP头的目的地点,在负载均衡器上换成其中一台RS的IP地点,并发至此RS来处置惩罚,RS处置惩罚完后把数据交给负载均衡器,负载均衡器再把数据包原IP地点改为自己的IP,将目的地点改为客户端IP地点即可期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器。
优点:集群中的物理服务器可以利用任何支持TCP/IP操作体系,只有负载均衡器必要一个合法的IP地点
缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个体系的瓶颈
由于全部的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时
大量的数据包都交汇在负载均衡器那,速率就会变慢!
(2)、IP隧道模式(VS-TUN)
原理:起主要知道,互联网上的大多Internet服务的请求包很短小,而应答包通常很大
那么隧道模式就是,把客户端发来的数据包,封装一个新的IP头标志(仅目的IP)发给RS
RS收到后,先把数据包的头解开,还原数据包,处置惩罚后,直接返回给客户端,不必要再经过
负载均衡器。注意,由于RS必要对负载均衡器发过来的数据包进行还原,以是说必须支持
IPTUNNEL协议,以是,在RS的内核中,必须编译支持IPTUNNEL这个选项
优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户
以是,镌汰了负载均衡器的大量数据运动,负载均衡器不再是体系的瓶颈,就能处置惩罚很巨大的请求量
这种方式,一台负载均衡器可以或许为很多RS进行分发。而且跑在公网上就能进行差异地区的分发。
缺点:隧道模式的RS节点必要合法IP,这种方式必要全部的服务器支持”IP Tunneling”
(IP Encapsulation)协议,服务器可能只局限在部分Linux体系上
(3)、直接路由模式(VS-DR)
原理:负载均衡器和RS都利用同一个IP对外服务但只有DR对ARP请求进行相应
全部RS对本身这个IP的ARP请求保持静默也就是说,网关会把对这个服务IP的请求全部定向给DR
而DR收到数据包后根据调度算法,找出对应的RS,把目的MAC地点改为RS的MAC(由于IP一致)
并将请求分发给这台RS这时RS收到这个数据包,处置惩罚完成之后,由于IP一致,可以直接将数据返给客户
则等于直接从客户端收到这个数据包无异,处置惩罚后直接返回给客户端
由于负载均衡器要对二层包头进行改换,以是负载均衡器和RS之间必须在一个广播域
也可以简单的理解为在同一台交换机上
优点:和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端
与VS-TUN相比,VS-DR这种实现方式不必要隧道结构,因此可以利用大多数操作体系做为物理服务器。
缺点:(不能说缺点,只能说是不足)要求负载均衡器的网卡必须与物理网卡在一个物理段上。
129、统计ip访问环境,要求分析nginx访问日志,找出访问页面数量在前十位的ip
- cat access.log | awk '{print $1}' | uniq -c | sort -rn | head -10
复制代码 130、利用tcpdump监听主机为192.168.1.1,tcp端口为80的数据,同时将输出结果保存输出到tcpdump.log
- tcpdump 'host 192.168.1.1 and port 80' > tcpdump.log
复制代码 131、如何将本地80 端口的请求转发到8080 端口,当前主机IP 为192.168.2.1
- iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp -dport 80 -j DNAT-to-destination 192.168.2.1:8080
复制代码 132、简述raid0 raid1 raid5 三种工作模式的工作原理及特点
RAID 0:
带区卷,连续以位或字节为单元分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,RAID 0 只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到全部数据。因此,RAID 0 不能应用于数据安全性要求高的场合。
RAID 1:
镜像卷,它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据,不能提升写数据服从。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID1 可以提高读取性能,RAID 1 是磁盘阵列中单元成本最高的,镜像卷可用容量为总容量的1/2,但提供了很高的数据安全性和可用性。当一个磁盘失效时,体系可以主动切换到镜像磁盘上读写,而不必要重组失效的数据。
RAID5:
至少由3块硬盘组成,分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于全部磁盘上。任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据(最多答应1块硬盘损坏)。以是raid5可以实现数据冗余,确保数据的安全性,同时raid5也可以提升数据的读写性能。
133、你对如今运维工程师的理解和以及对其工作的认识
运维工程师在公司当中责任庞大,必要保证时刻为公司及客户提供最高、最快、最稳固、最安全的服务。运维工程师的一个小小的失误,很有可能会对公司及客户造成庞大丧失
。因此,运维工程师的工作必要严谨及富有创新精神。
134、及时抓取并显示当前体系中tcp 80端口的网络数据信息,请写出完整操作命令
135、Linux体系中病毒怎么办理?
(1)最简单有效的方法就是重装体系。
(2)要查的话就是找到病毒文件然后删除。中毒之后一般机器cpu、内存利用率会比较高。可以先用top 命令找到cpu利用率最高的进程,一般病毒文件命名都比较乱,可以用 ps aux命令找到病毒文件位置,然后执行rm -f命令删除病毒文件,末了检查计划任务、开机启动项和病毒文件目录有无其他可以文件等。
(3)由于纵然删除病毒文件不排除有潜伏病毒,以是最好是把机器备份数据之后重装一下。
136、说说TCP/IP的七层模型?
应用层 (Application):
网络服务与最终用户的一个接口。协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP。
表示层(Presentation Layer):
数据的表示、安全、压缩。(在五层模型内里已经归并到了应用层)
格式有,JPEG、ASCll、DECOIC、加密格式等。
会话层(Session Layer):
创建、管理、终止会话。(在五层模型内里已经归并到了应用层)
对应主机进程,指本地主机与长途主机正在进行的会话。
传输层 (Transport):
定义传输数据的协议端标语,以及流控和不对校验。
协议有:TCP UDP,数据包一旦脱离网卡即进入网络传输层
网络层 (Network):
进行逻辑地点寻址,实现差异网络之间的路径选择。
协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
数据链路层 (Link):
创建逻辑连接、进行硬件地点寻址、不对校验等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地点访问介质,错误发现但不能纠正。
物理层(Physical Layer):
是盘算机网络OSI模型中最低的一层,物理层规定:为传输数据所必要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种物理媒体上传输。局域网与广域网皆属第1、2层,物理层是OSI的第一层,它固然处于最底层,却是整个开放体系的根本,物理层为装备之间的数据通信提供传输媒体及互连装备,为数据传输提供可靠的环境,假如您想要用尽量少的词来记着这个第一层,那就是“信号和介质”。
137、请列出你相识的web服务器负载架构?
Nginx
Haproxy
Keepalived
LVS
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |