服务器管理员

系统和网络管理员的问答

13
为什么RAID不是备份?
当有人在有关备份的对话中提到RAID时,总是会说“ RAID不是备份”。 当然,对于剥离,是真的。但是冗余和备份之间有什么区别?
112 backup  raid 


4
单播,任播,广播和多播流量之间有什么区别?
我从来没有在需要复杂路由的环境中工作的特权,或者如果确实需要,则在我的上游进行处理。我一直使用非常简单的静态路由配置,并且不需要进行任何多路径路由-因此,我对此主题普遍感到困惑。我想更好地了解多播和任意播。 单播,任播,广播和多播流量之间有什么区别? 它们通常在什么情况下使用以及为什么使用(例如,哪些应用程序使用哪种方法)? 对于给定的网段或广播域,您如何计算多少广播流量太多? 允许广播和多播流量对安全有何影响?
111 ip  routing  multicast  anycast 

7
检查数组在Bash中是否为空
我有一个数组,在脚本运行时会充满不同的错误消息。 我需要一种方法来检查脚本的末尾是否为空,如果有的话,请采取特定的措施。 我已经尝试将其视为普通VAR并使用-z进行检查,但这似乎行不通。有没有一种方法可以检查Bash中数组是否为空?
110 bash 

17
磁盘已满,du告诉不同。如何进一步调查?
我在服务器(硬件Raid 1),32G,ext3文件系统中有一个SCSI磁盘。df告诉我磁盘已满100%。如果删除1G,则可以正确显示。 但是,如果我运行a,du -h -x /则会du告诉我仅使用了12G(-x由于某些Samba安装,我使用了)。 因此,我的问题不是关于du和df命令之间的细微差异,而是关于我如何找出造成这种巨大差异的原因? 我重启了机器,发现没有错误的fsck。我应该跑步badblocks吗?lsof告诉我没有打开的已删除文件,lost+found为空,并且消息文件中没有明显的warn / err / fail语句。 随时询问设置的更多详细信息。


7
小家伙们如何才能有效地学习和使用Puppet?[关闭]
六个月前,在我们的非营利项目中,我们决定开始将系统管理迁移到Puppet控制的环境,因为我们希望从现在到一年之间,我们的服务器数量将大幅增长。 自从做出决定以来,我们的IT人员变得太烦恼了。他们最大的反对意见是: “我们不是程序员,我们是系统管理员”; 模块可在线获得,但许多模块彼此不同。车轮经常被重新发明,您如何确定哪一个合适? 我们仓库中的代码还不够透明,无法找到他们必须如何通过清单和模块来递归某些东西,而清单和模块甚至可能是他们前一段时间编写的。 一个新的守护程序需要编写一个新模块,约定必须与其他模块相似,这是一个困难的过程。 “让我们运行它,看看它如何工作” 社区模块中大量鲜为人知的“扩展”:“ trocla”,“ augeas”,“ hiera” ...我们的系统管理员如何跟踪? 我明白了为什么大型组织会派系统管理员到Puppet课程来成为Puppet大师。但是,如果较小的玩家不参加课程并且基本上通过浏览器和编辑器学习Puppet,他们将如何获得专业水平的学习?

5
将复杂的多行字符串写入变量的干净方法
我需要在bash脚本中的变量中写入一些复杂的xml。xml需要在bash脚本中可读,因为这是xml片段所在的位置,而不是从另一个文件或源中读取的。 所以我的问题是,如果我想在bash脚本中使用一个长字符串以使其易于阅读,那么最好的处理方法是什么? 理想情况下,我想要: 不必逃脱任何角色 跨多行使其可读 保持缩进 可以用EOF或其他方式完成此功能,有人可以给我一个例子吗? 例如 String = <<EOF <?xml version="1.0" encoding='UTF-8'?> <painting> <img src="madonna.jpg" alt='Foligno Madonna, by Raphael'/> <caption>This is Raphael's "Foligno" Madonna, painted in <date>1511</date>-<date>1512</date>.</caption> </painting> EOF
109 bash 

5
同一IP地址和同一端口上的多个SSL域?
这是关于在同一IP上托管多个SSL网站的规范问题。 我的印象是,每个SSL证书都需要它自己的唯一IP地址/端口组合。但是,我对先前发布的问题的回答与此说法不符。 使用该问题的信息,我能够获得多个SSL证书在相同的IP地址和端口443上工作。对于上述假设,并通过其他假设,每个SSL域网站都对此进行了补充,我感到困惑。同一台服务器需要自己的IP /端口。 我怀疑自己做错了什么。可以通过这种方式使用多个SSL证书吗?

17
切换到IPv6意味着删除NAT。那是件好事儿吗?
这是有关IPv6和NAT 的规范问题 有关: IPv6子网划分如何工作?与IPv4子网划分有何不同? 如何将自己的脚趾“浸入”动态IPv6网络寻址中? 没有nat的IPv6,但是isp更改呢? 因此,我们的ISP最近建立了IPv6,并且我一直在研究过渡所带来的挑战。 我注意到了三个非常重要的问题: 我们的办公室NAT路由器(旧的Linksys BEFSR41)不支持IPv6。也没有任何新的路由器AFAICT。我正在阅读的有关IPv6的书告诉我,无论如何,它使NAT“不必要”。 如果我们只是想摆脱这个路由器,直接将所有东西都插入互联网,那我就会感到恐慌。地狱是不可能的,我会将我们的计费数据库(包含很多信用卡信息!)放在互联网上,以供所有人查看。即使我提议在其上设置Windows的防火墙以允许仅6个地址对其进行任何访问,但我仍然不知所措。我不信任Windows,Windows的防火墙或足够大的网络,甚至无法远程接受。 有一些旧的硬件设备(即打印机)根本没有IPv6功能。大概可以追溯到1998年左右的安全问题清单。而且根本没有办法以任何方式对其进行修补。而且没有资金购买新打印机。 我听说IPv6和IPSEC应该以某种方式使所有这些安全,但是如果没有物理隔离的网络使这些设备对Internet不可见,我真的不知道如何实现。我同样可以真正看到我创建的任何防御措施将在短期内被超支。我已经在Internet上运行服务器很多年了,我对保护这些服务器所必需的事情非常熟悉,但是将诸如私有数据之类的计费数据库放在网络上始终是不可能的。 如果我们没有物理上分开的网络,我应该用NAT替换什么?
109 networking  ipv6 

6
如何使用每台主机密码安全地实施ansible?
我想使用ansible管理一组现有服务器。我已经创建了一个ansible_hosts文件,并-K使用仅针对单个主机的命令进行了成功测试(使用该选项) ansible -i ansible_hosts host1 --sudo -K # + commands ... 我现在的问题是每个主机上的用户密码都不同,但是我无法在Ansible中找到处理此密码的方法。 使用-K,只会提示我预先输入一个sudo密码,然后似乎对所有后续主机都尝试了该密码,而不会提示: host1 | ... host2 | FAILED => Incorrect sudo password host3 | FAILED => Incorrect sudo password host4 | FAILED => Incorrect sudo password host5 | FAILED => Incorrect sudo password 到目前为止的研究: 一个StackOverflow问题,其中有一个错误的答案(“ use -K”)和一个作者说“发现我需要无密码的sudo”的响应 Ansible docs,其中说:“使用无密码sudo使事情更容易自动化,但这不是必需的。” …
108 security  sudo  ansible 

8
如何找出我的LDAP连接字符串?
我们位于运行活动目录的公司网络上,我们想测试一些LDAP内容(实际上是活动目录成员资格提供程序),到目前为止,我们还没人能弄清楚我们的LDAP连接字符串是什么。有谁知道我们如何找到它?我们唯一知道的是我们所在的域。

12
手动并立即运行cron作业
(我已经阅读了如何测试新的cron脚本?。) 我有一个特定的问题(cron作业似乎无法运行,或无法正常运行),但问题很普遍:我想调试已损坏的脚本。我知道我可以设置* * * * * crontab行,但这并不是一个完全令人满意的解决方案。我希望能够从命令行运行cron作业,就像cron在运行它一样(相同的用户,相同的环境变量等)。有没有办法做到这一点?必须等待60秒才能测试脚本更改是不切实际的。
108 cron 


4
如果公钥认证失败,如何使ssh失败而不是提示输入密码?
我有一个脚本,它使用公钥身份验证对多个服务器进行加密。由于配置问题,其中一台服务器已停止让脚本登录,这意味着该脚本被“ Password:”提示卡住,显然它无法回答,因此它甚至不尝试其余服务器在列表中。 有没有一种方法可以告诉ssh客户端,如果密钥身份验证失败,则不提示输入密码,而是仅报告连接错误并让我的脚本继续运行?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.