众所周知,系统管理员是非常忙碌的人。因此,有时他们看起来像超人。系统管理员的秘密,也是许多开源用户共有的秘密,是他们实际上并没有做完他们看起来已经完成的所有工作。系统管理员工具包中最强大的工具之一是他们重用其他人已经为他们完成的工作的能力。
一个优秀的系统管理员知道,当有一项重要的工作要做但没有人可以做的时候,该向哪里求助。如果您正在寻求更智能地工作,而不是更辛苦地工作,那么这就是为您准备的:系统管理员应该了解的 10 个顶级资源列表。
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 服务器启动后,它会提示您创建管理密码。您可以跳过其他选项,直到看到 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 * * */1 或 0 0 * * 7。更好的是像 Crontab Guru 这样的在线 crontab 编辑器。

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

对自己诚实点:您最初进入系统管理员行业的原因是因为您喜欢玩电脑。发挥您对数字探索的热爱,并通过偶尔的渗透测试挑战来充分利用它。无论您在设置基础设施时多么小心,您可能都忽略了一些东西,无论是配置不够严格,还是您不可能知道的错误。有时不是您,而是您网络上的影子 IT 暴露了漏洞。无论原因是什么,您的工作是找到弱点,而 Kali Linux 是最专注于渗透测试的发行版。
您可以 下载 Kali 并将其安装在备用机器、虚拟机、U 盘,甚至使用 NetHunter 安装在您的手机上。
开始学习它的一些 工具,例如 Metasploit、Wifiphisher 和 Wireshark。Kali 拥有出色的培训资源,没有什么比尝试入侵您自己设计的网络更有趣和更紧张的了。
Samba

无论您作为使用开源的系统管理员的意图是什么,您都将遇到需要共享文件的混合平台环境。并非您网络上的每个人都会同意仅通过 SSH 将文件副本复制到彼此,或者以纯文本形式工作以便他们可以提交到 Git。事实上,如果您不为用户提供共享信息的简便方法,您的用户仍然会找到一种方法来做到这一点,他们的解决方案将涉及将公司数据放在他们在网上遇到的任何免费服务上。
当系统管理员需要一个通用的文件共享平台时,他们总是转向 Samba,它谦虚地称自己为 Linux 和 Unix 的标准 Windows 互操作性程序套件。事实上,Samba 远不止于此,部分原因是 Active Directory 的范围,部分原因是商业世界对微软技术的接受程度。例如,没有必要为网络上不同的操作系统运行单独的文件共享接口,因为您网络上的几乎所有东西都与 SMB/CIFS 兼容。
Cockpit Web 控制台

对于不熟悉 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 控制台和终端无法解决的。有时,您必须追溯到问题的根源,如果根源是裸机,那么每个系统管理员都会很乐意告诉您,内六角扳手和螺丝刀是绝对必需的。

任何给定的系统管理员都可能有他们的忠诚度,但我上班从不忘记带上我的莱泽曼工具钳和一些常用的内六角扳手。还有一些非常方便的钥匙圈,内置螺丝刀和其他工具,因此如果您正在为友好的本地系统管理员寻找礼物,那么带有多种工具的登山扣是不会出错的。
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 更好的了。是的,这款流行的多功能文本编辑器不仅是系统管理员工作时间最值得使用的工具;而且是放松身心的最佳方式。

关闭寻呼机,关闭 Mutt,尽情享受吧。
9 条评论