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