Linux常见面试题2

  • 内容
  • 评论
  • 相关

填空

1、在Linux系统中,以 文件 方式访问设备。

2、Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统

3、Linux文件系统中每个文件用 i节点 来标识

4、全部磁盘块由四个部分组成,分别为 引导块、专用块、i节点块、数据存储块

5、前台起动的进程使用 ctrl+c 禁止

6、安装Linux系统对硬盘分区时,必须有两种分区类型:文件系统 和 交换分区。

7、网络管理的重要任务是 监控 和 控制

8、内核分为 文件管理系统、I/O管理系统 、内存管理系统 和进程管理系统 等四个子系统。

系统

1、Linux开机启动过程?

 
  1)主机加电自检,加载BOLS硬件信息

        2)读取MBR的引导文件(grub,lilo)

3)引导linux内核

4)运行第一个进程init(进程号永远为1)

5)进入相应的运行级别

6)运行终端,输入用户名和密码

2、Linux系统缺省的运行级别

0.关机

1.单机用户模式 

2.字符界面的多用户模式(不支持网络)

3.字符界面的多用户模式

4.未分配使用 

5.图形界面的多用户模式 

6.重启

3、Linux系统是由那些部分组成?

Linux系统内核,shell,文件系统和应用程序四部分组成

4、硬链接和软链接有什么区别

1)硬链接不可以跨分区,软件链可以跨分区

2)硬链接指向一个i节点,而软链接则是创建一个新的i节点

3)删除硬链接文件,不会删除原文件,删除软链接文件,会把原文件删除

5、如何规划一台Linux主机,步骤是怎样?

1、确定机器是做什么用的,比如是做web、db、还是游戏服务器

2、确定好之后,就要定系统需要怎么安装,默认安装哪些系统、分区怎么做

3、需要优化系统的哪些参数,需要创建哪些用户等等的

6、查看系统当前进程连接数?

netstat -an |
grep ESTABLISHED | wc -l

7、如何在/usr目录下找出大小超过10MB的文件?

find /usr -type f
-size +10240k 

8、添加一条到192.168.3.0/24的路由,网关为192.168.1.254?

route add -net
192.168.3.0/24 netmask 255.255.255.0 gw 192.168.1.254

9、如何在/var目录下找出90天之内未被访问过的文件?

find /var \!
-atime -90 

10、如何在/home目录下找出120天之前被修改过的文件?

find /home
 -mtime +120

11、在整个目录树下查找文件“core”,如发现则无需提示直接删除它们。

find / -name core
-exec rm {} \;

12、有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做?

crontab -e

0 0 * * 7 /bin/cp
/user/backup /tmp

安全

1、防火墙有几张表几条链?

4张表,5条链

2、一台Linux系统初始化环境后需要做一些什么安全工作?

1、添加普通用户,禁root用户登陆,使用普通用户登陆

2、更改SSH端口号

3、服务器使用密钥登陆,禁止密码登陆

4、开启防火墙,关闭SElinux,根据业务需求设置相应的防火墙规则

5、装fail2ban这种防止SSH暴力破击的软件

6、设置只允许公司办公网出口IP能登陆服务器(看公司实际需要)

7、设置nginx_waf模块防止SQL注入

8、把Web服务使用www用户启动

9、修改历史命令记录的条数为10条

3、什么叫CC攻击?什么叫DDOS攻击?怎么预防CC攻击和DDOS攻击?

   简介:

 
  CC攻击主要是用来攻击页面的,模拟多个用户不停的对你的页面进行访问,从而使你的系统资源消耗殆尽

 
  DDOS攻击中文名叫分布式拒绝服务攻击,指借助服务器技术将多个计算机联合起来作为攻击平台,来对一个或多个目标发动DDOS攻击,

攻击即是通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的

   预防: 

 
  防CC/DDOS攻击这些只能是用硬件防火墙做流量清洗,将攻击流量引入黑洞

 
  流量清洗这一块,主要是买ISP服务商的防攻击的服务就可以,机房一般有空余流量,

 
  我们一般是买服务,毕竟攻击不会是持续长时间

4、什么是网站数据库注入?怎么过滤与预防网站数据库注入?

   简介:

 
  由于程序员的水平及经验参差不齐,大部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,

 
  应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL注入。

 
  SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,如果管理员没查看日志的习惯,可能被入侵很长时间都不会发觉。

   过滤与预防:

数据库网页端注入这种,可以考虑使用nginx_waf做过滤与预防

脚本

1、.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。

#!/bin/bash

read -p "Input
file name: " FILENAME

if [ -c
"$FILENAME" ];then

   cp $FILENAME
/dev

fi

2、设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。

#!/bin/bash

groupadd
class1

for((i=1;i<31;i++))

do

        if [ $i
-le 10 ];then

               
useradd -g class1
std0$i

        else

               
useradd -g class1
std$i

        fi

done

3、编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。

#!/bin/bash

for((i=1;i<51;i++))

do

               
userdel -r
stud$i

done