您要参加系统管理员工作面试吗?阅读本文以了解您可能遇到的一些问题和可能的答案。作为一个经常使用计算机的极客,我在硕士之后选择了IT行业是一个自然的选择。所以我认为沿着系统管理员的道路走下去是正确的道路。在我的整个职业生涯中,我已经非常熟悉求职面试过程。现在看看对这个职位的期望、职业道路以及常见面试问题列表和我的回答。系统管理员的典型任务和职责组织需要了解系统如何工作以确保数据安全和服务平稳运行的人员。您可能会问,“等等,系统管理员还有更多吗?”你是对的。现在,一般来说,让我们看一下典型系统管理员的日常任务。根据公司的需要和人员的技能水平,系统管理员的任务范围从管理台式机、笔记本电脑、网络和服务器到设计组织的IT战略。有时,系统管理员甚至负责购买和订购新的IT设备。那些寻求系统管理工作作为职业道路的人可能会发现,由于IT领域不可避免的快速变化,很难使他们的技能和知识保持最新。下一个突然出现在每个人脑海中的自然问题是IT专业人员如何了解最新的更新和技能。简单问题以下是您可能会遇到的一些最基本的问题,以及我的回答:1.在登录*nix服务器后,您输入的前五个命令是什么?lsblk查看所有块设备信息who查看谁登录了服务器top了解服务器上运行的进程df-khT查看服务器上的可用磁盘容量netstat查看哪些TCP网络连接处于活动状态2.如何make进程在后台做有什么好处?您可以通过在命令末尾添加特殊字符&使进程在后台运行。通常,执行时间过长且不需要用户交互的应用程序可以置于后台,以便我们可以继续在终端中工作。(引文)3.以root身份运行这些命令是好是坏?由于两个主要问题,以root身份运行(任何命令)都是不好的。首先是风险。当您以root身份登录时,您无法避免无意中的错误。如果您试图以可能有害的方式更改系统,则需要使用sudo,它会引入暂停(在您输入密码时)以确保您不会犯错。第二个原因是安全。如果不知道admin用户的登录信息,系统更难被攻击。拥有root访问权限意味着您已经可以执行作为管理员可以执行的一半操作。4.rm和rm-rf有什么区别?rm命令本身只删除指定的文件(不是目录)。使用-rf标志,您可以添加两个附加功能:-r(或等效的-R,--recursive)标志递归删除目录的内容,包括隐藏文件和子目录;并且-f(或--force)标志使rm忽略不存在的文件,并且从不提示您进行确认。5.有一个Compress.tgz文件,大小约为15GB。如何列出其内容,以及如何仅提取特定文件?列出文件的内容:tartfarchive.tgz提取特定文件:tarxfarchive.tgzfilename一些疑难问题以下是您可能遇到的一些较难的问题,以及我的回答:6.什么是RAID?什么是RAID0、RAID1、RAID5、RAID6和RAID10?RAID(廉价磁盘冗余阵列)是一种用于提高数据存储性能和/或可靠性的技术。RAID级别是:RAID0:也称为磁盘条带化,这是一种分解文件并将数据分布到RAID组中所有磁盘驱动器的技术。它不能保证不会发生磁盘故障。(引用)RAID1:一种流行的磁盘子系统,通过在两个驱动器上写入相同的数据来提高安全性。RAID1称为镜像,它不会提高写入性能,但读取性能可能会增加到每个磁盘性能的总和。此外,如果一个驱动器发生故障,则使用第二个驱动器并且需要手动更换发生故障的驱动器。更换后,RAID控制器将工作驱动器的内容复制到新驱动器。RAID5:一种磁盘子系统,通过计算奇偶校验数据来提高安全性和速度。RAID5通过在三个或更多驱动器之间交错数据(条带化)来实现这一点。在单个驱动器发生故障的情况下,可以从分布式奇偶校验计算后续读取,从而不会丢失数据。RAID6:通过添加另一个奇偶校验块来扩展RAID5。该级别至少需要四块磁盘,并且可以在任意两个磁盘并发故障的情况下继续进行读/写操作。RAID6不会导致读取操作的性能损失,但由于与奇偶校验计算相关的开销,它确实会导致写入操作的性能损失。RAID10:RAID10,也称为RAID1+0,结合磁盘镜像和磁盘条带化来保护数据。它至少需要四个磁盘并跨镜像对条带化数据。只要每个镜像对中的一个磁盘正常工作,就可以检索数据。如果同一镜像对中的两个磁盘发生故障,则所有数据都会丢失,因为条带集中没有奇偶校验。(引用)7.ping命令使用哪个端口?ping命令使用ICMP。具体来说,它使用ICMP回应请求和回复数据包。ICMP不使用UDP或TCP通信服务:相反,它使用原始IP通信服务。这意味着ICMP消息直接承载在IP数据报的数据字段中。8.路由器和网关有什么区别?什么是默认网关?路由器描述了一般技术功能(第3层转发)或用于该目的的硬件设备,而网关描述了本地网段的功能(提供到其他地方的连接)。您也可以说“将路由器设置为网关”。另一个术语是“跳跃”,它描述了子网之间的转发。术语默认网关是指LAN上的路由器,其职责是作为与LAN外部计算机通信的第一个联系点。9.解释Linux的启动过程。BIOS->MasterBootRecord(MBR)->GRUB->Kernel->Initialization->Runlevel10,服务器启动时如何检查错误信息?内核消息始终存储在kmsg缓冲区中,可以使用dmesg命令查看。启动问题和错误需要系统管理员结合某些命令查看某些重要文件,不同版本的Linux处理方式不同:/var/log/boot.log是系统启动日志,包含系统启动过程一切展开在。/var/log/messages存储全局系统消息,包括系统启动期间记录的消息。/var/log/dmesg包含内核环形缓冲区消息。11.符号链接和硬链接有什么区别?符号链接(软链接)实际上是指向原始文件的链接,而硬链接是原始文件的镜像副本。如果原文件被删除,软链接就没有用了,因为它指向的文件已经不存在了。在硬链接的情况下,情况恰恰相反。如果原始文件被删除,硬链接仍然包含原始文件中的数据。(引用)12.如何改变内核参数?您可能需要调整哪些内核选项?要在类Unix系统上设置内核参数,首先编辑文件/etc/sysctl.conf。进行更改后,保存文件并运行sysctl-p命令。此命令使更改永久生效,而无需重新启动计算机13.解释/proc文件系统。/proc文件系统是虚拟的,提供有关内核、硬件和运行进程的详细信息。由于/proc包含虚拟文件,因此被称为“虚拟文件系统”。这些虚拟文件是独一无二的。它们中的大多数显示为零字节。/proc/interrupts、/proc/meminfo、/proc/mounts和/proc/partitions等虚拟文件提供有关系统硬件的最新信息。/proc/filesystems和/proc/sys等其他目录提供系统配置信息和接口。14.如何在没有密码的情况下以其他用户身份运行脚本?例如,如果您可以编辑sudoers文件(例如/private/etc/sudoers),则可以使用visudo添加以下内容:user1ALL=(user2)NOPASSWD:/opt/scripts/bin/generate.sh15,什么是UID0to帐户?它被黑客入侵了吗?toor用户是备用超级用户帐户,其中toor是root的反向拼写。它旨在与非标准shell一起使用,因此不需要更改root的默认shell。这个用途很重要。这些shell不是基本发行版的一部分,而是从端口或软件包安装的,它们安装在/usr/local/bin中,默认情况下,它们安装在其他文件系统中。如果root的shell在/usr/local/bin中,而包含/usr/local/bin的文件系统没有挂载,则root无法登录来解决这个问题,系统管理员必须重新启动到单用户模式才能进入shell程序的路径。更难的问题这里有一个您可能会遇到的更难的问题:16.tracert是如何工作的,它使用什么协议?命令tracert(或traceroute,取决于操作系统)允许您准确地查看连接链中哪些路由器被连接到最终目的地。如果您在连接时遇到问题或无法ping到您的最终目的地,您可以使用tracert来帮助您确定连接链停止的位置。(Citation)有了这些信息,你就可以联系到合适的人;无论是您自己的防火墙、您的ISP、您目的地的ISP,还是介于两者之间。tracert命令与ping一样使用ICMP协议,但也可以使用TCP三向握手的第一步发送SYN请求作为响应。17.使用chroot的主要优点是什么?我们何时以及为何使用它?mount/dev、mount/proc和mount/sys命令在chroot环境中有什么作用?chroot环境的优点是文件系统与物理主机是隔离的,因为chroot在文件系统内部有一个独立的文件系统。不同的是,chroot使用新创建的根目录(/)作为它的根目录。chrootjail让您可以将进程及其子进程与系统的其余部分隔离开来。它应该只用于不以root身份运行的进程,因为root可以很容易地越狱。这个想法是创建一个目录树,其中复制或链接运行该进程所需的所有系统文件。然后您可以使用chroot()系统调用告诉它根目录现在位于这个新树的基点,并启动在该chroot环境中运行的进程。由于该命令因此无法引用修改后的根目录之外的路径,因此它无法在这些位置执行恶意操作(读取、写入等)。(引用)18.如何保护您的系统免受黑客攻击?遵循最小特权原则和这些做法:使用公钥密码术,它提供了极好的安全性。增强密码复杂性。了解为什么您应该对上述规则进行例外处理。定期检查您的例外情况。让特定的人对失败负责。(它让你保持警惕。)(引文)19.什么是LVM,使用LVM有什么好处?LVM(LogicalVolumeManagement)是一种存储设备管理技术,它使用户能够对组成存储设备的物理布局进行整合和抽象,从而实现更简单、更灵活的管理。使用设备映射器的Linux内核框架,当前迭代(LVM2)可用于将现有存储设备收集到组中,并根据需要从组合空间中分配逻辑单元。20.什么是粘性端口?粘性端口是网络管理员最好的朋友,也是他们最头疼的问题之一。它们允许您设置网络,以便通过将交换机上的每个端口锁定到特定的MAC地址,只允许一台(或您指定的一些)计算机连接到该端口。21.解释端口转发?当试图与安全网络内部的系统通信时,很明显,从外部进行通信可能非常困难。因此,在路由器本身或其他连接管理设备中使用端口转发表允许将特定流量自动转发到特定目的地。例如,如果您有一个网络服务器在您的网络上运行并且想要从外部授予对该服务器的访问权限,您可以设置端口转发到该服务器上的端口80。这意味着将您的(外部)IP地址输入网络浏览器的任何人都将立即连接到该服务器的网站。请注意,通常不建议允许从网络外部直接访问服务器。22.对于IDS,什么是误报和漏报?当入侵检测系统(IDS)设备为实际上并未发生的入侵生成警报时,它就是误报(falsepositive)。当设备没有产生任何警报,但入侵实际发生时,就会发生漏报(falsenegative)。23.解释一下:(){:|:&};:,如果你已经登录系统,如何停止这段代码?这是复制炸弹。它分解如下::()定义了一个函数,以:作为函数名,空括号表示它不接受任何参数。{}是函数定义的开始和结束。:|:将function:的副本加载到内存中,并将其输出通过管道传输到function:的另一个副本,该副本也必须加载到内存中。&使前面的命令行成为后台进程,所以即使父进程被自动杀死,子进程也不会被杀死。:执行函数,因此连锁反应开始。保护多用户系统的最佳方法是使用特权访问管理(PAM)来限制用户可以使用的进程数。fork炸弹最大的问题是它启动了太多的进程。因此,如果您已经登录系统,我们有两种方法可以尝试解决此问题。一种选择是执行SIGSTOP命令来停止进程,例如:killall-STOP-uuser1如果因为所有进程都被占用而无法使用命令行,则必须强制它使用exec运行:execkillall-STOP-uuser1对于forks炸弹,最好的选择是未雨绸缪。24.什么是OOMkiller,它如何决定先杀死哪个进程?如果内存被进程完全耗尽,可能威胁到系统的稳定性,那么内存不足(OOM)杀手就会出现。OOMKiller首先必须选择最好的进程来杀死。这里最好是指被杀死时释放内存最多,对系统最不重要的进程。主要目标是杀死最少数量的进程,以最大限度地减少所造成的损害,同时最大限度地释放内存量。为了实现这个目标,内核为每个进程维护一个oom_score。在/proc文件系统的pid目录下可以看到每个进程的oom_score:$cat/proc/10292/oom_score任何进程的oom_score值越高,在不足的情况下被OOMkiller杀死的可能性记忆力越高性。(引述)总结系统管理员的薪水差别很大,一些网站说年薪在70,000美元到100,000美元之间,这取决于地点、组织规模以及您的教育水平和多年的工作经验。系统管理员的职业道路最终归结为您对使用服务器和解决那些很酷的问题的兴趣。现在,我会说,继续前进,过你梦想的道路吧!
