系统管理员应该了解的 10 个资源

通过这 10 个资源更智能地工作,而不是更辛苦地工作,让系统管理员看起来像超人。
164 位读者喜欢这篇文章。

众所周知,系统管理员都非常忙碌。因此,有时他们看起来像是超人。系统管理员的秘密,也是许多开源用户共同的秘密,是他们实际上并没有完成他们看起来已经完成的所有工作。系统管理员工具包中最强大的工具之一是他们能够重用别人已经为他们完成的工作。

一个优秀的系统管理员知道当有一项重要的工作要做但没有人手可用时该怎么办。如果您希望更智能地工作,而不是更辛苦地工作,那么这就是为您准备的:系统管理员应该了解的 10 个顶级资源列表。

Turnkey Linux

Turnkey Linux

Turnkey Linux 项目是系统管理的应用商店。Turnkey 采用流行的开源基础设施组件,将其安装在虚拟服务器上,创建安装镜像,并作为免费下载提供给全世界。在 容器 出现之前,Turnkey 主要针对虚拟化引擎,但随着云的出现,该项目也提供云“应用”。

无论您使用云版本还是虚拟机,安装基础设施从未如此简单。无论部门提出什么要求,您都可以通过简单地启动一个虚拟服务器并将 Turnkey Linux 放入其中,或在 Turnkey 的云平台上安装应用程序来满足并关闭工单。Turnkey 提供 OVA、ISO、VMDK、QCow2、Xen 和 Docker 镜像,因此无论您的基础设施基于什么,您都可以使用 Turnkey。

关于 Turnkey 最令人兴奋的事情(除了它使启动基础设施变得多么容易之外)是它还可以作为新系统管理员的工作示例。如果您从未配置过 NFS 服务器,您可以运行 Turnkey 解决方案来查看一个工作实例,并将其用作您研究下次如何实现它的上下文。

如果您还没有尝试过 Turnkey 镜像,请帮自己一个忙,下载一个进行评估。

一个简单的演示是 文件共享 包。您可以将镜像下载为 ISO 并将其安装到虚拟机中,例如 GNOME Boxes。启动镜像并将其作为实时演示运行。

Turnkey Linux

Turnkey 服务器启动后,它会提示您创建管理密码。您可以跳过其他选项,直到看到 IP 地址和端口列表。您可以使用最适合您操作系统的任何协议,使用 root 作为用户名以及您在启动后创建的管理密码。

子网计算器

如果您是一名新的系统管理员,您可能正在努力理解子网的概念,或者路由器在网络内定向流量的限制。子网可能令人困惑,计算子网和掩码以及由此产生的地址块可能很困难。即使对于习惯于配置路由器并且可以在脑海中计算子网的经验丰富的系统管理员来说,再次检查计算结果也绝不会有害。

在线有很多子网计算器,但如果您处于纯文本 SSH 会话中,这并不总是方便的。这就是 SubNetCalc 的用武之地。

subnetcalc 命令,可从您的发行版的存储库中获得,是一个用于终端的 IPv4 和 IPv6 子网计算器。基本命令很简单:为其提供您要配置的 IP 地址以及使用 CIDR 表示法的估计位掩码,subnetcalc 将显示其结果

$ subnetcalc  192.168.6.0/24
Address       = 192.168.6.0
   11000000.10101000.00000110.00000000
Network       = 192.168.6.0 / 24
Netmask       = 255.255.255.0
Broadcast     = 192.168.6.255
Wildcard Mask = 0.0.0.255
Hosts Bits    = 8
Max. Hosts    = 254   (2^8 - 2)
Host Range    = { 192.168.6.1 - 192.168.6.254 }
Properties    =
   - 192.168.6.0 is a NETWORK address
   - Class C
   - Private

它也支持 IPv6

Address       = fe80::f811:e76e:7218:ff46
                   fe80 = 11111110 10000000
                   0000 = 00000000 00000000
                   0000 = 00000000 00000000
                   0000 = 00000000 00000000
                   f811 = 11101000 00011001
                   e76e = 11100101 01011110
                   7328 = 01110011 00011000
                   ff46 = 11111111 01010110
Network       = fe80:: / 64
Netmask       = ffff:ffff:ffff:ffff::
Wildcard Mask = ::ffff:ffff:ffff:ffff
Hosts Bits    = 64
Max. Hosts    = 18446744073709551615   (2^64 - 1)
Host Range    = { fe80::1 - fe80::ffff:ffff:ffff:ffff }
Properties    =
   - fe80::f811:e74e:7318:ff56 is a HOST address in fe80::/64
   - Link-Local Unicast Properties:
      + Interface ID = f811:e74e:7318:ff56
      + Sol. Node MC = ff02::1:ff18:ff56

Crontab Guru

Unix cron 子系统是一个计时器,它在特定日期的特定时间运行命令。这是系统管理员确保重要任务(如备份、提醒电子邮件和日志轮换)自动发生的众多方法之一。Crontab 是控制 cron 的配置文件,曾经是一系列神秘的数字、斜杠和星号,它们以某种方式转换为时间的表示。

好消息是它们变得更容易使用,语法如 @daily@weekly,而不是 0 0 * * */10 0 * * 7。更好的是像 Crontab Guru 这样的在线 crontab 编辑器。

Crontab guru

这个网站只有一个目的:揭开 crontab 调度的神秘面纱。凭借其简单的界面,您可以使用 cron 语法编写您认为所需的计划,并以简洁的英语返回结果。不再需要努力记住分钟、小时、日期、月份、星期几的助记符(我的助记符是“Mini Horrific Devils Maraud the Weary”)。不再需要放弃并求助于相对不精确的 @daily 风格的简写。最重要的是,不再需要确信您获得了正确的语法,却在稍后发现您的 cron 作业设置为在 2112 年才运行。使用良好的 crontab 解释器,您可以输入您的最佳猜测并获得即时反馈。

一个救援和测试 U 盘

Kali Linux

对自己诚实一点:您最初进入系统管理员行业的原因是因为您喜欢玩电脑。发挥您对数字探索的热爱,并将其用于偶尔的渗透测试挑战。无论您在设置基础设施时多么小心,您可能都忽略了一些事情,无论是配置不够严格,还是您不可能知道的错误。有时,不是您,而是您网络上的影子 IT 暴露了漏洞。无论原因如何,找到弱点是您的工作,而 Kali Linux 是最专注于渗透测试的发行版。

您可以 下载 Kali 并将其安装在备用机器、虚拟机、U 盘,甚至使用 NetHunter 安装在您的手机上。

开始学习它的一些 工具,例如 Metasploit、Wifiphisher 和 Wireshark。Kali 提供了优秀的培训资源,没有什么比尝试入侵您自己设计的网络更有趣和更令人紧张的了。

Samba

File sharing with Samba

无论您作为使用开源的系统管理员的意图如何,您都将遇到需要共享文件的混合平台环境。并非您网络上的每个人都同意仅将文件 SSH 复制到彼此,或以纯文本方式工作以便他们可以提交到 Git。事实上,如果您不为用户提供共享信息的简单方法,您的用户无论如何都会找到一种方法来做到这一点,他们的解决方案将涉及将公司数据放在他们在网上遇到的任何免费服务上。

当系统管理员需要一个通用的文件共享平台时,他们总是会转向 Samba,它谦虚地将自己标榜为 Linux 和 Unix 的标准 Windows 互操作性程序套件。事实上,Samba 远不止于此,部分原因是 Active Directory 的范围,部分原因是商业世界对 Microsoft 技术的接受程度。例如,没有必要为网络上不同的操作系统运行单独的文件共享接口,因为网络上的几乎所有内容都与 SMB/CIFS 兼容。

Cockpit Web 控制台

Cockpit web console

对于不熟悉 Linux 终端的人来说,很难想象服务器是什么,更不用说它做什么了。这可能会使实习生或转型中的 Windows 管理员难以帮助管理 Linux 服务器,并且可能难以向管理层证明硬件购买的合理性。

Fedora、RHEL 和 CentOS 都附带 Cockpit Web 控制台,并且很容易在 Debian、Ubuntu 和许多其他发行版上 安装 。

Cockpit 允许您监视和修改服务器的属性,否则将需要 SSH 访问和熟悉 Linux 命令。它不仅是开源的,而且具有丰富的 API 并且易于扩展,因此如果您的 Web 控制台需要执行比 Cockpit 提供的更多操作,您可以开发自己的常见任务界面。

Fedora 的服务器版本 默认启用 Web 控制台,因此如果您还没有尝试过 Cockpit,您只需安装一次即可看到它的实际效果。如果您已经运行 Ubuntu 或 Debian 并想查看 Cockpit 的实际效果,您可以安装它

$ sudo apt-get install cockpit

内六角扳手和螺丝刀

有些事情是 Web 控制台和终端无法解决的。有时,您必须追溯到问题的根源,如果根源是裸机,那么每个系统管理员都会很高兴地告诉您,内六角扳手和螺丝刀是绝对必要的。

Multi-tool carabiner

任何给定的系统管理员都可能有他们的忠诚度,但我上班时从不缺少我的 Leatherman 和一些常见的内六角扳手。市面上也有一些非常方便的钥匙圈,内置螺丝刀和其他工具,因此如果您正在为友好的本地系统管理员寻找礼物,那么多功能工具登山扣绝对不会出错。

Telnet 和 OpenSSL

那些经历过老式互联网的人可能还记得 Telnet,它是一个笨拙、笨重但有效的接口,用于大型机构的公共 Unix 服务器。纽约公共图书馆曾经通过 Telnet 提供其卡片目录以进行在线搜索,许多在线 MUD(多人地下城)都是通过这种古老的协议访问的。大多数人称 Telnet 为已死的协议和危险的命令,因为它缺乏加密,虽然它的用途有限,但它仍然是一个用于探测端口的优秀命令。

随着世界缓慢地转向默认加密,替代方案也随之出现。您过去常使用 Telnet 做的事情可以用新工具做得更好。例如,测试电子邮件服务器的旧方法是使用 telnet 命令,但在许多情况下可以使用 OpenSSL 代替

$ openssl s_client -starttls smtp -connect email.example.com:587
> ehlo example.com
> auth login
(the user as a base64 string)
(the pass as a base64 string)
> mail from: noreply@example.com
> rcpt to: foo@example.com
> data
> Subject: foo bar
Baz Quux Blah.
.
> quit

这是一个通过加密线路完成的经典电子邮件服务器测试。

无论您使用 Telnet 还是 OpenSSL 来探测和测试服务器,重要的是要记住,即使在花哨的前端时代,底层命令仍然至关重要。

Cheat

很难记住命令?通常您可能会求助于 man 手册,但有些 man 手册很难切入正题。这就是 Chris Allen Lane 提出 cheat 命令 的想法(更重要的是代码)的原因。

cheat 命令在您的终端中显示常见任务的速查表。它是一个没有序言的 man 手册。它直奔主题,准确地告诉您如何做您想做的任何事情。如果它缺少您认为应该包含的常见示例,您可以提交更新。

$ cheat tar
# To extract an uncompressed archive: 
tar -xvf '/path/to/foo.tar'

# To extract a .gz archive:
tar -xzvf '/path/to/foo.tgz'
[...]

您还可以将 cheat 视为本地速查表系统,这对于您和您的团队多年来发明的内部命令非常有用。您可以轻松地将本地速查表添加到您自己的主目录,cheat 将找到并显示它,就像它是流行的系统命令一样。

Emacs

在一天结束时,没有什么比坐下来享受全新的 Emacs 会话并输入神奇的组合键:M-x tetris 更好的了。是的,流行的多功能文本编辑器不仅是系统管理员在工作时间最值得使用的工具;而且是最好的放松方式。

Tetris in Emacs

关闭寻呼机,关闭 Mutt,尽情享受吧。

Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算机行业工作,通常同时进行。

9 条评论

您总是教给我一些新东西。感谢这篇精彩的文章。我一直是 Turnkey Linux 的粉丝很长时间了,我也使用过 Samba。那个子网计算器很棒,我得试试在 U 盘上运行 Kali。

除了基本工具(如螺丝刀)外,我建议检查您需要哪些类型的串行电缆和适配器来处理没有网络和/或控制台访问受限的系统……正确的电缆和适配器在危机情况下至关重要。

'vi' 应该是一项关键技能,尤其是在默认情况下服务器系统可能未加载 emacs 时。

有一些很棒的 Windows 和 Linux U 盘救援镜像……随时准备一些最新的镜像以供使用,以及关于哪些工具与您管理的环境最相关的基本文档,这是一个很棒的主意。

很棒的文章,谢谢!

这些都很棒,一定会去看看!

很棒的文章,Seth。感谢您分享这些资源!

感谢分享,我不知道 Cheat,真的很有帮助。

嗯 - 我觉得应该包括 netcat/nc/socat 而不是 telnet/openssl 组合。主要是因为我可以数出过去 10 年使用 telnet 的次数,而 nc/socat 我每天都使用,并且已经完全数不清了。

嘿 Joel!是的,说得对。Netcat 在我的候选名单上,我最终选择了 openssl,因为我觉得这是一个不太常见的选择。但是,是的,netcat 在精神上在这里。

回复 ,作者是 Joel Wirāmu(未验证)

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.