服务器管理员

系统和网络管理员的问答

9
多个Linux系统管理员以root身份工作
在我们的团队中,我们有3名经验丰富的Linux系统管理员必须管理几十个Debian服务器。以前,我们所有人都使用SSH公钥身份验证作为root用户。但是我们讨论了在哪种情况下的最佳实践,对此没有达成共识。 每个人的SSH公钥都放在〜root / .ssh / authorized_keys2中 优势:易于使用,SSH代理转发轻松进行,开销很小 缺点:缺少审核(您永远不知道哪个“根”进行了更改),发生事故的可能性更大 使用个性化帐户和sudo 这样,我们将使用SSH公钥使用个性化帐户登录,并使用sudo以root权限执行单个任务。另外,我们可以给自己一个“ adm”组,使我们可以查看日志文件。 优点:良好的审核功能,sudo可以防止我们过于轻易地进行愚蠢的事情 缺点:SSH代理转发中断,这很麻烦,因为几乎所有操作都不能以非root用户身份完成 使用多个UID 0用户 这是来自一名系统管理员的非常独特的建议。他建议在/ etc / passwd中创建三个用户,每个用户的UID为0,但登录名不同。他声称这实际上并没有被禁止,并且允许每个人的UID为0,但仍然能够进行审核。 优点:SSH代理转发有效,审核可能有效(未试用),没有sudo麻烦 劣势:感觉很脏-找不到允许在任何地方记录的文件 你有什么建议?
40 linux  root 

4
DNS为什么以这种方式工作?
这是有关DNS(域名服务)的规范问题。 如果我对DNS系统的理解是正确的,则.com注册表中包含一个表,该表将域(www.example.com)映射到DNS服务器。 有什么好处?为什么不直接映射到IP地址? 如果在将DNS服务器配置为指向其他IP地址时唯一需要更改的记录位于DNS服务器上,为什么流程不会即时进行? 如果造成延迟的唯一原因是DNS缓存,是否有可能绕过它们,因此我可以实时查看发生了什么?


4
Active Directory的SSO如何工作,从而使用户透明地登录到Intranet Web应用程序?
有人告诉我,可以制作不需要登录的Web应用程序。用户登录Windows,该Windows通过Active Directory(LDAP)查找进行身份验证。然后,他们应该能够访问我的webapp,并且永远不会看到登录提示。这些客户一直将此称为“单点登录”(可能不正确,这是我困惑的一部分)。 但是,从我从Tomcat文档中读取的“单点登录”是: 当您希望使用户能够登录到与您的虚拟主机关联的任何一个Web应用程序,然后让其在同一虚拟主机上的所有其他Web应用程序识别其身份时,可以使用Single Sign On Valve 。 这对我来说很清楚。用户只需登录一次即可访问tomcat实例上的每个Web应用程序。但是,我需要做的是以某种方式让他们登录,而无需向tomcat服务器提供任何凭据。 因此,为了使它起作用,我想: 用户请求某些页面 服务器看不到会话令牌,然后向客户端请求一些凭据。 客户端浏览器无需用户干预即可向服务器提供一些凭据。 然后,使用客户端浏览器提供的那些凭据在LDAP中进行查找。 我看过一些使用客户端证书的示例...尤其是DoD PKI系统,这对我来说很有意义,因为在这种情况下,您将Tomcat配置为请求客户端证书,但是仅登录Windows我看不到这将正常工作,浏览器将向服务器传递什么信息,等等。这是NTLM的用途吗?

5
配置Apache2代理WebSocket?
WebSocket协议是HTTP协议的扩展。但是,Apache2的代理模块似乎对此一无所知,并丢弃了重要的标头,从而将调用转换为标准的HTTP调用。 有没有一种方法可以使Apache2(1)理解WebSocket或(2)盲目地传递其获得的一切?

1
我将把FreeBSD自动安装器切成小块,然后用油煮沸
我试图将主目录的层次结构暴露给许多FreeBSD监狱。配置主目录,以便每个目录都是唯一的ZFS数据集。这些监狱用于开发工作,因此会定期创建和销毁。 我首先想到的只是使用nullfs挂载/home在监狱中,但是nullfs并没有提供任何访问下级文件系统的方法。 我的第二个想法是通过NFS导出目录,然后在每个监狱中运行自动安装程序守护程序(amd)。如果可以在监狱中执行NFS挂载,那本来可以工作的。但事实并非如此。 我的第三个想法是在主机上运行amd,并将nullfs挂载到监狱中...但是不存在对nullfs的 amd支持。 我的第四个想法是回到使用NFS导出目录的原因,因为amd当然可以与NFS一起使用,对吗?不幸的是,amd不想在目标挂载点上挂载目录,而是希望将其挂载到一个临时位置(/.amd_mnt/...),然后创建一个符号链接...当然,这在监狱环境中毫无用处。 因此,也许您可​​以使用nullfs向/.amd_mnt监狱公开的子目录?没有!这使我们回到了我的第一次尝试,在该尝试中,我们发现无法使用nullfs访问下级文件系统。 然后我的头爆炸了。 我要做什么有很好的解决方案?一个不好的解决方案是在启动监狱后运行一个脚本,该脚本将为每个主目录创建多个nullfs挂载点,但这非常笨拙-需要定期运行以考虑新目录或已删除目录。因此,基本上我将不得不编写一个错误的自动挂载程序。 一定会有更好的办法。帮我,Serverfault,您是我唯一的希望! 更新1:我想到我可以用来解决部分问题pam_mount,尽管这充其量是不完整的。另外,从文档中还不清楚是否pam_mount可以自动创建目标安装点。如果它要求挂载点先验存在,那么该解决方案将不会比我已经提出的错误的自动挂载器更好。 更新2:如以下答案中所述,VFCF_JAIL在NFS文件系统上进行设置确实允许监狱执行NFS挂载。不幸的是,自动挂载程序继续表现为无益的,并且在监狱中运行时似乎很擅长以某种方式陷入困境,以至于必须重新引导系统才能删除进程条目。

6
上游阅读时权限被拒绝
我们已经在Nginx和passenger上部署了Rails应用程序,应用程序的页面间歇性地被部分加载了。应用程序日志中没有错误,但是nginx错误日志显示以下内容: 2011/02/14 05:49:34 [crit] 25389#0: *645 open() "/opt/nginx/proxy_temp/2/02/0000000022" failed (13: Permission denied) while reading upstream, client: x.x.x.x, server: y.y.y.y, request: "GET /signup/procedures?count=0 HTTP/1.1", upstream: "passenger:unix:/passenger_helper_server:", host: "y.y.y.y", referrer: "http://y.y.y.y/signup/procedures"
40 nginx 

4
如何使RabbitMQ仅监听本地主机?
我已经在Debian Linux Squeeze机器上安装了RabbitMQ,我希望它仅侦听localhost接口。我已经添加了 RABBITMQ_NODE_IP_ADDRESS=127.0.0.1 到我的/etc/rabbitmq/rabbitmq.conf文件,这使得它在侦听amqp端口(5672)时仅绑定到localhost接口。但是,当侦听端口epmd(4369)和43380时,它仍绑定到所有接口: # lsof -n -a -i -urabbitmq COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME epmd 7353 rabbitmq 3u IPv4 1177662 0t0 TCP *:epmd (LISTEN) epmd 7353 rabbitmq 5u IPv4 1177714 0t0 TCP 127.0.0.1:epmd->127.0.0.1:50877 (ESTABLISHED) beam.smp 7365 rabbitmq 10u IPv4 1177711 0t0 TCP *:43380 (LISTEN) …
40 rabbitmq 

5
为什么在IIS中使用Kerberos代替NTLM?
这是我从未真正能够回答的问题,也没有我喜欢的问题: 在IIS中使用Kerberos身份验证而不是NTLM的真正优势是什么? 我已经看到很多人真的很难安装它(包括我自己),而且我还没有提出使用它的充分理由。但是,必须有一些相当显着的优势,否则设置它并不值得所有麻烦,对吗?
40 iis  kerberos  windows  ntlm 


5
用换行符分隔的xargs
是否可以仅xargs使用换行符作为分隔符?(如果重要的话,请在Linux和OS X上使用bash) 我知道-0可以使用,但是它是PITA,因为不是每个命令都支持NUL分隔的输出。
40 linux  bash  xargs 

4
设置ubuntu服务器以发送mail()
我尝试了很多搜索,但无法找到如何实际设置ubuntu服务器的方法,因此我可以使用php中的mail()函数通过php发送邮件。 我的服务器上安装了apache2,mysql和php5。 谢谢。
40 php  apache-2.2  ubuntu 

11
被黑了。想了解如何
有人第二次向我帮助运行的网站添加了一段JavaScript。该javascript劫持了Google adsense,插入了自己的帐号,并在各处粘贴广告。 该代码始终附加在一个特定目录(第三方广告程序使用的一个目录)中,会影响该广告目录(大约20个左右)内多个目录中的多个文件,并在大致相同的夜晚插入时间。adsense帐户属于一个中文网站(位于下个月不到一个小时的小镇上。也许我应该半信半疑……开玩笑之类的),顺便说一下……这是有关信息该站点:http : //serversiders.com/fhr.com.cn 那么,他们如何将文本追加到这些文件?它与在文件上设置的权限有关(从755到644)?对于网络服务器用户(它位于MediaTemple上,因此应该是安全的,是吗?)?我的意思是,如果您有一个权限设置为777的文件,我仍然不能随便添加代码...他们可能会怎么做? 这是为您带来观看乐趣的实际代码示例(而且您可以看到……不多。真正的窍门是他们如何将代码插入其中): <script type="text/javascript"><!-- google_ad_client = "pub-5465156513898836"; /* 728x90_as */ google_ad_slot = "4840387765"; google_ad_width = 728; google_ad_height = 90; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 既然有很多人提到过,这就是我检查过的内容(通过检查,我的意思是我环顾了文件修改时是否出现怪异现象,并且对文件进行了POST语句和目录遍历: access_log(除了正常(即过多)的MSN机器人流量之外,几乎没有其他时间) error_log(除了普通文件不存在外,无害文件的错误) ssl_log(仅此而已) messages_log(除了我之外,这里没有FTP访问权限) *更新:**好,解决了。来自中国的黑客实际上已经在我们的网站上放置了一个文件,使他们可以进行各种管理工作(数据库访问,删除和创建文件及目录,您可以命名,他们可以访问)。我们很幸运,他们没有做更具破坏性的事情。普通的Apache日志文件中没有任何内容,但是我在Web服务器日志分析器中找到了另一组日志文件,并且证据在那里。他们使用自己的管理员用户名和密码访问该文件,然后在服务器上编辑所需的内容。他们的文件已将“ apache”设置为用户,而我们网站上的所有其他文件均具有不同的用户名。现在,我需要弄清楚他们是如何将该文件实际添加到我们的系统中的。我怀疑这最终将归咎于我们的网络托管商(媒体圣殿),
40 security  php  hacking 

15
我应该保留前雇主的数据吗?[关闭]
在短暂担任System Monkey之后,我现在面临一个难题: 我确实在笔记本电脑上成功创建了备份和测试VM,因为没有一台计算机在工作,没有足够的可用磁盘空间。我还没有删除备份,因为它仍然是公司历史上唯一的一种备份。自2006年以来,原始文件一直在硬盘上连续使用。现在公司只有一个人知道备份的内容,并且由于与我离职密切相关的原因,他们不太可能雇用其他人。 。 上次我试图与他们讨论备份的重要性时,他们认为我正在威胁他们。 我应该保留吗? 优点: 我可以使人们摆脱自己的愚蠢(据我所知,这是非正式的系统管理员座右铭) 当他们乞求帮助时,我会说“我告诉过你”,并且对此感觉很好 好干净的良心 奖励代表适当的神灵 缺点: 法律问题:即使我确实为他们提供帮助,他们也可能仍会起诉我,尽管我认为我有很好的理由 法律问题:鉴于工作的性质及其安全性,如果发生泄漏,我很可能会进行报复 法律问题:我没想到的其他问题 我需要更多的色情空间。 法律问题。 你会怎么做? 更新: 感谢您的所有回复,您对我的帮助很大。最后,我进行了录音通话,确认他们不想要备份,不希望我保留它,他们知道我要备份,并且承担起从现在起不备份的责任。我已经切碎了我的副本。


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.