Linux操作系统~必考面试题③

Linux系统中一切皆文件,包括设备。文件系统包括/bin、/etc等目录,inode用于存储文件元信息。硬链接共享相同inode,软链接有独立inode并指向文件路径。RAID是磁盘冗余阵列,提升性能和数据安全性。初始化Linux环境后,需做如禁止root登录、开启防火墙等安全措施,防止CC和DDoS攻击,以及SQL注入。
摘要由CSDN通过智能技术生成

1、简单 Linux 文件系统?

在 Linux 操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。也就是说在 Linux 系统中有一个重要的概念:一切都是文件

其实这是 Unix 哲学的一个体现,而 Linux 是重写 Unix 而来,UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。

Linux 支持 5 种文件类型,如下图所示:

2、Linux 的目录结构是怎样的?

Linux 文件系统的结构层次鲜明,就像一棵倒立的树,   顶层是其根目录:

常见目录说明

/bin: 存放二进制可执行文件(ls,cat,mkdir等)

/etc: 存放系统管理和配置文件

/home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示

**/usr **: 用于存放系统应用程序

/opt:额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat等都安装到这里

 /proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息

/root: 超级用户(系统管理员)的主目录

/sbin: 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等

/dev: 用于存放设备文件

/mnt: 系统管理员安装临时文件系统的安装点,是让用户临时挂载其他的文件系统

/boot: 存放用于系统引导时使用的各种文件

**/lib **: 存放着和系统运行相关的库文件 

/tmp: 用于存放各种临时文件,是公用的临时文件存储点

/var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等

/lost+found: 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)

3、什么是 inode ?

【一般来说,面试不会问 inode 。但 inode 是一个重要概念,是理解 Unix/Linux 文件系统和硬盘储存的基础】

理解inode,要从文件储存说起。

文件储存在硬盘上,硬盘的 小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)

操作系统读取硬盘的时候,不会一个一个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的 小单位。

"块"的大小, 常见的是4KB,即连续八个 sector组成一个 block。

文件数据都储存在"块"中,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文为"索引节点"。

每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

4、简述 Linux 文件系统通过 i 节点把文件的逻辑结构和物理结构转换的工作过程?

【一般来说,面试官不太会问这个题目】

Linux 通过 inode 节点表将文件的逻辑结构和物理结构进行转换。

inode 节点是一个 64 字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。

在 inode 节点表中   重要的内容是磁盘地址表。在磁盘地址表中有 13 个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。

Linux 文件系统通过把 inode 节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的 inode 节点号,通过该 inode 节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑。

5、什么是硬链接和软链接?

1、硬链接

由于 Linux 下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配 inode 。每添加一个一个硬链接,文件的链接数就加 1 。

不足:

1)不可以在不同文件系统的文件间建立链接;

2)只有超级用户才可以为目录创建硬链接。

2、软链接

软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。

不足:

1)因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;

2)它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

实际场景下,基本是使用软链接。

总结区别如下:

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

2)硬链接指向一个 inode 节点;软链接则是创建一个新的 inode 节点。

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

6、RAID 是什么?

RAID 全称为独立磁盘冗余阵列(Redundant Array of Independent Disks)

基本思想:把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、 容量巨大的硬盘。

RAID 通常被用在服务器电脑上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。

RAID 分为不同的等级,各个不同的等级均在数据可靠性及读写性能上做了不同的权衡。在实际应用中,可以依据自己的实际需求选择不同的 RAID 方案。

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

 1、添加普通用户登陆,禁止 root 用户登陆,更改 SSH 端口号。

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

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

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

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

也可以安装 VPN 等软件,只允许连接 VPN 到服务器上。

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

7、只允许有需要的服务器可以访问外网,其它全部禁

  1. 做好软件层面的防护。
  2. 设置 nginx_waf 模块防止 SQL 注入。
  3. 把 Web 服务使用 www 用户启动,更改网站目录的所有

8、什么叫 CC 攻击?什么叫DDOS 攻击?

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

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

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

9、怎么预防 CC 攻击和 DDOS 攻击?

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

流量清洗这一块,主要是买 ISP 服务商的防攻击的服务,机房一般有空余流量,我们一般是买服务,毕竟攻击不会是持续长时间。

10、什么是网站数据库注入?

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

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

11、如何过滤与预防?

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肉肉肉肉肉肉~丸子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值