服务器管理员

系统和网络管理员的问答


6
我如何说服我的公司在IT(领域,安全性等)上进行投资?
我为一家中小型零售商工作,该零售商有六家大街商店和一个网站。 当前,IT状况处于非常基本的状态。作为“ IT负责人”只是我工作描述的一小部分,而清单上的最后一个我却没有花太多时间。 我们的网络上大约有50台计算机和14个Windows终端机(总部内部30台,外部商店20家,仓库和笔记本电脑)。这些都是建立在工作组网络上的,所有站点都通过非常基本的路由器级VPN设置(每个商店的子网)连接在一起。 因此,我无法进行任何管理,检查计算机的安全性,进行任何审核,确保已安装更新,管理来宾设备的Wi-Fi或进行任何检查。 我确实想要一个域名,但是在告诉我的老板之后,他说这不值得,因为: 我们已经与一个工作组应对多年,没有任何问题 员工可以信赖 如果发生故障时我离开了或者不在家,那么没人会理解它是如何工作的 新硬件的安装成本和域的许可费用很高。(我们目前只购买预制的OEM Windows PC,然后再购买零散的Office许可证) 由于域是集中管理的,因此如果发生重大问题,可能会导致所有计算机无法正常工作。(与工作组不同,在工作组中,如果只有一台计算机死机,那么其他一切都很好,并且不会影响其他任何人的工作。) 我不知道该如何强调安全性,因为我们没有领域。连接到我们的Wi-Fi的任何人都可以访问内容,由于用户未安装密码,任何人都可以从任何PC上访问内容,任何人都可以查看共享文件夹并删除共享文件夹,而无需显示或备份日志。我不确定我们是否符合PCI规范,或者我们是否符合审计师规范。有人告诉我忽略这一点,不要担心。 由于我的职位描述中包含“内部IT基础架构负责人”的信息,所以我也不想被追究责任,如果我们遇到数据泄露或法律诉讼不利于我们。 如何证明事情需要改变,我的时间和额外的钱需要花在这上面?对于我们这样规模的公司,可能需要专职网络管理员。还是我想得太多,对我真正想要的东西非常自私,工作组就可以了? 更新:听起来我也许会保留领域的想法,然后尝试一些更小的事情。例如,确保打开更新,病毒扫描和防火墙,确保在单个PC上启用密码,在每台计算机上启用备份,在装有服务器的房间中启用物理锁。我不确定如何处理网络范围的文件共享和Wi -Fi,但这是另一个问题!

5
公司通常在哪里存储SSL证书以备将来使用?
我们最近为我们的域购买了通配符SSL证书。我们将所有证书转换为Java密钥库,但是现在我们在问自己应该在哪里存储这些证书以供以后使用。 人们是否对这些类型的文件使用诸如BitBucket之类的源代码控制,还是仅在每次需要时生成它,或者其他? 我们想知道在存储这些证书以备将来使用时是否存在标准解决方案或任何“最佳实践”。

3
为CentOS 7上的systemd启动的进程增加nproc
我已经成功为本地用户增加了nofile和nproc值,但是我找不到针对systemd启动的进程的适当解决方案。将max_open_files添加到MariaDB配置无济于事。su-手动更改限制的mysql也不起作用(该帐户当前不可用)。 /etc/security/limits.conf * soft nofile 102400 * hard nofile 102400 * soft nproc 10240 * hard nproc 10240 /etc/security/limits.d/20-nproc.conf(目录中没有其他文件) * soft nofile 102400 * hard nofile 102400 * soft nproc 10240 * hard nproc 10240 /etc/sysctl.conf fs.file-max = 2097152 /etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will …

3
Linux:CIFS / Samba安装挂起几分钟
我有一个小型的本地网络,其中有一个Gentoo框和一个Windows框。我使用以下命令将源自Windows框的共享安装到Gentoo框上: mount -t cifs -o username=WindowsUsername,password=thepassword,uid=pistos //192.168.0.103/Users /mnt/windowsbox 在大多数时候,一切都正常,我可以毫无问题地进行读写。但是,每隔几周左右,连接或挂载点似乎会死机或挂起,因此任何尝试访问挂载点的进程都会陷入D状态(磁盘或I / O等待)。这些过程不受TERM和KILL信号的影响。从网络上断开和重新连接Windows框并没有帮助。冻结状态持续5分钟以上。这真的很令人沮丧,并且妨碍了正常工作,因为它冻结了另存为对话框,ls命令等。如果我umount在挂载点上发出a ,它也会挂起,或者报告挂载点正在使用中。最终,死状态将自行解决,并且挂载点将被挂载,或者变为umount无延迟。 我的猜测是,这种情况发生在连接/挂接处于空闲状态或Windows计算机处于空闲状态时。我不太确定 为什么会发生这种情况,我该怎么做才能防止这种情况发生?还是我怎样才能成功地杀死这些D状态进程? 可能相关:CIFS挂载在读取时挂起
26 linux  cifs 

2
奇怪的系统日志
您是否曾在/ var / log / syslog中看到错误的顺序?我认为这只会导致crontab。 Jun 28 22:20:01 alex CRON[2327]: (root) CMD (something > /dev/null) Jun 28 22:21:01 alex CRON[2700]: (root) CMD (something > /dev/null) Jun 21 03:49:01 alex CRON[2753]: (root) CMD (something > /dev/null) Jun 28 22:23:01 alex CRON[2754]: (root) CMD (something > /dev/null) Jun 27 05:08:01 alex …
26 ubuntu  cron  syslog  time 

2
透明压缩文件系统与ext4结合使用
我正在尝试使用ext4文件系统测试需要压缩存储的项目,因为我使用的应用程序依赖于ext4功能。 是否有用于ext4透明压缩的生产/稳定解决方案? 我尝试过的 ZFS卷上的Ext4启用了压缩。这实际上产生了不利影响。我尝试创建启用了lz4压缩的ZFS卷,并在/ dev / zvol /上制作了一个ext4文件系统,但是zfs卷显示了实际使用量的两倍,并且压缩似乎没有任何效果。 # du -hs /mnt/test **1.1T** /mnt/test # zfs list NAME USED AVAIL REFER MOUNTPOINT pool 15.2T 2.70G 290K /pool pool/test 15.2T 13.1T **2.14T** - ZFS创建命令 zpool create pool raidz2 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde2 /dev/sdf1 /dev/sdg1 /dev/sdh2 /dev/sdi1 zfs set recordsize=128k pool zfs …

4
SSH远程端口转发失败
后续行动:看起来像是一系列快速断开连接,同时每台服务器都运行了几个月,这可能是偶然的,只是用来揭示实际问题。未能重新连接的原因几乎可以肯定是由于AliveInterval值(卡巴斯德的回答)。使用ExitOnForwardFailure选项应该允许超时在重新连接之前正确发生,这在大多数情况下应该可以解决问题。MadHatter的建议(kill脚本)可能是确保隧道可以重新连接的最佳方法,即使其他一切都失败了。 我在防火墙后面有一个服务器(A),该服务器在多个端口上启动了到小型DigitalOcean VPS(B)的反向隧道,因此我可以通过B的IP地址连接到A。隧道已经连续工作了大约3个月,但在过去的24小时内突然发生了四次故障。同一件事发生在另一家VPS提供商身上-几个月的完美运行,然后突然出现了多次快速故障。 我在机器A上有一个脚本,该脚本会自动执行tunnel命令(ssh -R *:X:localhost:X address_of_B针对每个端口X),但是在执行时会显示Warning: remote port forwarding failed for listen port X。 进入/var/log/secure服务器上的sshd会显示以下错误: bind: Address already in use error: bind: Address already in use error: channel_setup_fwd_listener: cannot listen to port: X 解决方法是重新启动VPS。在此之前,所有尝试重新连接的消息都会显示“远程端口转发失败”消息,并且将无法正常工作。现在到了隧道仅持续约4个小时才停止的地步。 VPS上没有任何变化,它是一次性使用的单用户计算机,仅充当反向隧道终结点。它在CentOS 6.5上运行OpenSSH_5.3p1。似乎当连接断开时,sshd不会关闭其末端的端口。我无所适从地解释了为什么,或者为什么经过数月近乎完美的运行现在突然会发生这种情况。 为了澄清,我首先需要弄清楚为什么sshd在隧道故障后拒绝侦听端口,这似乎是sshd使端口保持打开状态并且从不关闭它们引起的。这似乎是主要问题。我只是不确定在经过数月的预期运行后会导致这种行为的原因(即立即关闭端口并允许脚本重新连接)。

2
Nginx的配置文件行继续?
我有一个nginx config节,看起来像: server { listen *:80; server_name domain1.com domain2.com domain3.com domain4.com .... domainN.com; rewrite ^(.*) http://my_canonical_domain.com permanent; } 有很多不同的领域。有什么办法可以将其分解为多行?我没有在解决此问题的nginx配置文档中看到任何东西。
26 nginx 


9
我该如何迫使来自美国的用户去美国服务器,以及迫使来自英国的访客去英国服务器。
如果我拥有一个来自美国和欧洲的访客的单一域,并且也有2台服务器,其中一台在美国,一台在英国,那么我该如何强制美国用户访问美国服务器,而英国访客则去访问英国服务器呢?为了减少访客的ping? 首先这可能吗?以及为什么Google之类的公司在每个国家/地区都有不同的域名?
26 networking 

5
BBWC:从理论上讲,这是个好主意,但是有没有人保存过您的数据?
我熟悉BBWC(电池支持的写缓存)的用途-甚至在使用优质UPS的情况下,它们也曾在我的服务器中使用过。显然存在无法提供保护的故障。我很好奇它在实践中是否真正提供了任何真正的好处。 (注意,我特别在寻找患有BBWC且发生车祸/故障以及BBWC是否有助于恢复的人的答复) 更新资料 收到反馈后,我越来越怀疑BBWC是否会带来任何价值。 为了对数据完整性有信心,文件系统必须知道何时将数据提交到非易失性存储(不一定是磁盘,这是我将要谈到的问题)。值得注意的是,将数据提交到磁盘后,会出现许多磁盘(http://brad.livejournal.com/2116715.html)。尽管可以合理地认为禁用磁盘上的缓存可能会使磁盘更老实,但仍然不能保证确实如此。 由于BBWC中的缓冲区通常过大,因此屏障可能需要将更多数据提交到磁盘,从而导致写入延迟:一般建议是在使用非易失性回写高速缓存时禁用屏障(并禁用on-磁盘缓存)。但是,这似乎破坏了写操作的完整性-仅因为非易失性存储中保留了更多数据并不意味着它会更加一致。确实,可以说在逻辑事务之间不进行划分,与其他方式相比,确保一致性的机会似乎更少。 如果BBWC在数据进入其非易失性存储(而不是提交到磁盘)的那一刻承认障碍,那么它似乎可以满足数据完整性要求而不会降低性能-意味着仍应启用障碍。但是,由于这些设备通常表现出与将数据刷新到物理设备一致的行为(带有障碍的速度明显较慢)以及禁用障碍的广泛建议,因此它们无法以此方式运行。为什么不? 如果将OS中的I / O建模为一系列流,则在某种程度上可以最大程度地减小由OS管理写缓存时的写屏障的阻塞效果-因为在此级别仅逻辑事务(单个流) )需要承诺。另一方面,一个不知道构成事务的数据位的BBWC必须将其整个缓存提交到磁盘。内核/文件系统是否实际上在实践中实现了这一点,将比我目前打算投入的工作多得多。 磁盘组合会告诉故障发生了什么,并且突然断电无疑会导致损坏-以及日记或日志结构化的文件系统在中断后无法完全执行fsck的情况下,更不可能发现损坏的发生,更不用说试图修复它。 就故障模式而言,根据我的经验,大多数突发性停电是由于市电中断而造成的(通过UPS和管理性关机可以轻松缓解)。人们将错误的电缆从机架中拔出,意味着数据中心的卫生性很差(标签和电缆管理)。UPS不能阻止某些类型的突然断电事件-PSU或VRM中的故障,带有障碍物的BBWC在发生故障时将提供数据完整性,但是这种事件有多普遍?从这里缺乏回应来看非常罕见。 当然,将容错能力提高到更高的堆栈中比使用BBWC的成本要高得多-但是将服务器实现为群集对于性能和可用性还有很多其他好处。 减轻突然断电的影响的另一种方法是实施SAN-AoE使这成为一个可行的方案(我对iSCSI的意义不大),但同样存在更高的成本。

8
SSH因身份验证失败而中止
我试图运行这个简单的供应脚本,但运行的时候,我遇到错误vagrant up,然后vagrant provision命令。 我读到我需要创建一个/etc/ansible/hosts已经完成的文件,并用以下文件填充: [vagrant] 192.168.222.111 我的SSH配置(已删除一些详细信息): Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/ashleyconnor/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL Host server HostName XXX.XXX.XXX.XXX User ash PreferredAuthentications publickey IdentityFile ~/.ssh/ash_ovh Host deployer HostName XXX.XXX.XXX.XXX User deployer PreferredAuthentications publickey IdentityFile ~/.ssh/deployer_ovh Host bitbucket.org PreferredAuthentications …

2
从正在运行的Apache实例中检索RSA密钥?
我为SSL证书创建了RSA密钥对,并将私钥存储在中/etc/ssl/private/server.key。不幸的是,这是我拥有的唯一私钥副本。 然后我不小心覆盖了磁盘上的文件(是的,我知道)。 Apache仍在运行并仍在处理SSL请求,这使我相信恢复私钥可能会有希望。(也许在某处/proc或某处有符号链接?) 该服务器正在运行Ubuntu 12.04 LTS。

2
使scp始终覆盖或创建目录
我正在使用scp将目录从一个远程服务器复制到另一台远程服务器上的新目录(即,IE只是更改名称),例如: scp -prq server1:dir1 server2:dir2 如果dir2在server2上不存在,则可以正常工作,它将创建一个名为dir2的新目录,其中包含server1上dir1的所有内容。 当dir2已经存在于server2上时,问题就来了(注意:我无法事先知道这一点,也无法事先对server2上的dir2进行删除)-发生的是我在dir2中得到了dir1的副本,称为dir1。 我敢肯定我缺少一些基本的东西,但是我似乎无法解决。 任何帮助,不胜感激! 问候, 吉尔斯 好的,我的代表少于10名,无法等待8个小时,所以这就是我得到的: 这是一个对我有用的脚本: #!/bin/sh echo "method 1" scp -prq server1:dir1/* server2:dir2/ >/dev/null 2>&1 if [ "$?" -ne "0" ]; then echo "failed ... trying method 2" scp -prq server1:dir1 server2:dir2 fi exit 仍然不确定如何在单个命令中执行此操作,即使可能也无法确定。 欢呼@mindthemonkey,有时只是获得新鲜的观点可以帮助指明方向。
26 linux  scp 

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.