服务器管理员

系统和网络管理员的问答

4
Active Directory + Google Authenticator-AD FS,还是如何?
(经过编辑以匹配答案作者的理解-此处发布了新的,干净的新问题:Active Directory + Google Authenticator-Windows Server中的本机支持?) 到目前为止的研究 有一篇technet文章,介绍如何将Google身份验证器与Active Directory联合服务(AD FS)结合使用:https : //blogs.technet.microsoft.com/cloudpfe/2014/10/26/using-time-based-one-time在ad-fs-3-0中进行多重验证的密码/ 奇怪的是,它似乎是开发项目,需要一些代码和自己的SQL DB。 我们在这里不专门讨论AD FS。当您使用2FA时,我们希望它可以支持AD中内置的Google Authenticator RFC。

1
Systemd不会重新启动服务,尽管Restart = always
这是我的systemd服务的单位文件: [Unit] Description=Tunnel For %i After=network.target [Service] User=autossh ExecStart=/usr/bin/autossh -M 0 -N -o "ExitOnForwardFailure yes" -o "ConnectTimeout=1" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 40443:installserver:40443 -R 8080:installserver:8080 tunnel@%i Restart=always [Install] WantedBy=multi-user.target 该单元在15天前发生了故障,尽管上面的单元文件中有“ Restart = always”,但systemd并未重新启动它。 这是该服务的状态输出: salt:/srv # systemctl status autossh@eins-work autossh@eins-work.service - Tunnel For eins-work Loaded: loaded (/etc/systemd/system/autossh@.service; enabled) …

1
Tomcat并行部署,自动取消部署旧应用程序
一段时间以来,我一直在使用Tomcat 8的并行部署作为零停机连续部署设置的一部分。 运行测试手套后,CI服务器会自动将.war文件重命名为application ## {version-number} .war并将war复制到/ webapp文件夹。应用程序## 333将与应用程序## 332很好地共存。 我遇到的唯一问题是,一旦所有流量(新会话)自动转换为新应用程序,我就必须手动取消部署旧应用程序。 Tomcat是否具有某种内置机制来表示“嘿,当该服务降为零会话时,应将其删除”?也许我可以利用某种“最近的会话刚刚过期”事件。 如果有人取消了这种应用程序的自动化,我很想听听。谢谢!

3
重新启动后如何远程检测Windows已完成补丁程序配置
我们计划自动为构建基础架构创建VM,以便我们能够: 根据需求扩展构建资源,例如,在需要时添加更多构建代理,在不需要时将其删除 如果/当机器死机时,重新创建全部或部分构建环境 当我们需要测试设置时,复制构建环境 此过程中的步骤之一是自动创建VM基本映像(在我们的示例中使用Hyper-V)。为此,我们有一个脚本: 使用Convert-WindowsImage脚本从ISO创建新的VHDX 。我们目前正在使用Windows 2012R2,但将在2016年推出时尽快开始使用。 使用我们需要的所有基本配置将无人参与脚本添加到新的VHDX 使用Apply-WindowsUpdate脚本用最新的Windows补丁更新VHDX 基于VHDX创建新的Hyper-V VM并启动它 等待虚拟机启动,等待WinRM服务准备好接受远程连接 等待Windows完成初始配置和新补丁的配置 应用其他补丁 重新启动以完成最新补丁程序的配置 等待Windows完成补丁配置 将sysprep脚本推送到计算机并调用该脚本。这将运行sysprep,然后关闭计算机 删除VM但保留VHDX 从VHDX删除sysprep和无人参与文件,然后压缩VHDX 将VHDX移动到模板位置并标记为只读 我们遇到的问题在步骤6和9中。理想情况下,在重新启动/关闭计算机之前,我们等待所有配置完成,但是似乎无法检测到Windows已完成配置阶段。 通过UI时,很清楚什么时候完成了任何一个步骤,因为只有在过程准备好之后,登录UI才会显示。但是,当使用WinRM远程连接到计算机时,这不太清楚,因为WinRM可以在完成配置工作之前提供对计算机的访问权限。 因此,问题是,通过Windows已经完成配置更新等的远程连接检测的最简单方法是什么,以便我们可以重新启动/关闭计算机而不会在以后引起问题。 ------编辑----- 最后,我们使用的是Katherine答案的修改版本,因为我们的脚本还会等待windeploy并ngen完成。鉴于要ngen等到操作系统完成初始化工作后,才能完成工作,而且作为奖励,最终的VHDX将具有ngen-ed的所有.NET框架,这意味着我们在创建新的.NET框架时无需进行处理。模板磁盘的虚拟机。如果有人感兴趣,我们用于创建VHDX模板的脚本和用于创建本地测试环境的脚本都位于github上。


1
vmware-需要整合,但我想还原
昨晚,我在添加新磁盘并运行Exchange的脱机碎片整理(使用新添加的磁盘作为临时路径)之前为VM制作了快照。 今天我醒来时,服务器处于脱机状态,并且打开vSphere时,看到消息“配置问题-需要整合虚拟机磁盘”。我回答了问题,然后选择了中止/取消。然后启动虚拟机。现在,Exchange数据库大约为160GB(从大约240GB减少到现在),大约是碎片整理后的预期大小。这让我怀疑碎片整理可能已经完成,但是可惜它不会安装。 在此阶段,我希望恢复为快照。以前有人遇到过这种情况吗?我已经读了很多书,但是只发现了一些文章,解释如何通过合并来解决“需求合并”错误。我找不到有关删除不需要的增量磁盘以还原为原始磁盘的任何信息。 是否有支持的方法可以删除这些不需要的增量磁盘而不进行合并? 我可以简单地将diskname-000001.vmdk文件移动到其他位置,然后启动VM吗?(我也有一些扩展名为.REDO_nSGail的文件,我想我也需要移动这些文件)。但是,原始的.vmdk文件将处于只读模式-有没有办法将它们设置回读写状态? 感谢任何可以提供一些建议的人。 其他信息:-ESXi 6.0-VM是Windows SBS框(具有Exchange和AD)。它还具有大约1TB的数据,并且数据存储上没有足够的可用空间来还原所有数据。我必须先移走所有VM文件,然后还原备份,这将花费许多小时,因此,我尽可能避免这样做。

2
如何在AWS上平衡sftp实例
我想知道是否可以在中对sftp服务器进行负载平衡AWS。我有2台服务器,并且我的每台服务器都s3fs-fuse用于将同一台服务器挂载S3 bucket到挂载点上。我的两个ec2实例都可以读取/写入其挂载点,并且从中S3,我可以看到两个服务器上的文件。 我正在寻找的是必须SFTP传输文件并Amazon S3用于存储我的文件。文件将每天上传和下载。 https://github.com/s3fs-fuse/s3fs-fuse 对于下一步,我想知道如何对sftp服务器进行负载平衡,以便当用户连接到特定IP地址时,它将把它们重定向到我的一sftp台服务器。我看了看elastic load balancers,但是它们似乎只允许特定的端口。我也进行了调查HAProxy,但是不确定该解决方案的安全性。我必须考虑HIPAA合规性。负载均衡器必须是静态IP地址,因为我们的供应商不支持DNS hostnames。

4
将Amazon Elastic Container Registry与Jenkins集成
我正在尝试将Amazon的新Elastic Container Registry(ECR)与我的Jenkins构建服务集成在一起。我正在使用Cloudbees Docker Build&Publish插件来构建容器映像并将其发布到注册表。 要使用ECR而不是我的私有注册表,我运行了AWS CLI命令aws --region us-east-1 ecr get-login,该docker login命令会生成一个要运行的命令-但我只是复制了密码,并从该密码创建了类型为“带有密码的用户名”的Jenkins凭证(用户名是始终为“ AWS”)。 而且效果很好!问题在于,AWS CLI生成的ECR密码仅有效12个小时。因此,现在,我必须每天两次手动重新生成密码,并手动更新Jenkins凭证屏幕,否则我的构建会开始失败。 有没有一种方法可以生成永久性的ECR登录令牌,或者以某种方式自动生成令牌?

3
MX优先级服务器行为
这是关于MX脯氨酸优先级的问题。如果我有两个具有不同优先级的服务器作为MX: MX 10服务器 MX 20服务器B 协议是否保证MX 10是首选?提交者可以出于主要可用性之外的其他任何原因选择次要对象吗? 换句话说:如果我的serverA MX正常运行并且具有(理论上)无限的连接能力,我可以确定没有人会尝试与serverB进行连接吗?

3
新的UPS电池将在几个月内消失
这让我难过一年了。我的服务器机房中有3个APC SmartUPS 3000和几个非APC单元。每个单元都有与断路器面板的专用连接。 看来我必须每4个月左右更换一次这些单元中的电池。自从我上次更换电池以来,一次停电都很少发生。我以为可能是线路电压不好,所以我记录了UPS的输出,在那4个月中没有出现任何下垂或过电压的情况。 也许线路接线错误?我对其进行了测试,并将其追溯到面板上,并全部检出。 我认为唯一的可能性是我使用的备用电池不是很好(金霸王)。我当然要购买两个带有新APC电池的全新APC UPS装置,四个月后它们都没电了。 这些设备永远不会发生切换到电池电源的事件,它们只会在4-6个月后报告电池损坏。这是一个反复出现的问题,会影响不同型号和不同品牌电池的多个单元。我不知道这是怎么回事,我有电工和医疗服务提供者对各种事情进行测试,并且总是很干净。 在这一点上,我只能想到提供商级别的问题(变压器不好?),但通常这会引起电压问题。我也听说过有人有相移问题,但是我有单相电源,所以我不确定这是否有意义。 注意:我曾经是一名电气工程师,并且对应该如何工作有很高的了解。因此,您不必盲目回答:)

4
当主机端口!=容器端口时,Nginx在Docker计算机上重写
我正在尝试运行多个都在端口80上运行nginx侦听的docker容器,但将不同的主机端口映射到容器端口80。 在大多数情况下,这是可行的,但nginx由于缺少尾部斜杠而进行重定向时除外。 server { listen 80; root /var/www; index index.html; location /docs {} } 给定上述nginx配置和一个运行它的docker容器,并将其主机端口8080映射到容器端口80,我可以通过curl ok获得localhost:8080 / docs /: > GET /docs/ HTTP/1.1 > User-Agent: curl/7.35.0 > Host: localhost:8080 > Accept: */* > < HTTP/1.1 200 OK * Server nginx/1.9.5 is not blacklisted < Server: nginx/1.9.5 < Date: Sat, 28 …
10 nginx  docker 

2
如何在没有警报功能的Chrome中调试pac文件?
最近,我遇到了一个带有chrome的新pac文件的问题(与IE和Firefox兼容的同一个pac文件)。 我以为我的问题是由于“ myIpAddress()”功能引起的,请参阅此帖子=> 代理-Pac文件-带有myAdresse()的ipv6吗? 这不返回我的主要IP地址。 我想进行一些调试pac文件的测试,但是根据这篇文章=> http://findproxyforurl.com/debug-pac-file/,调试功能不再受支持。 我也尝试使用这篇文章中的一些选项=> https://www.chromium.org/developers/design-documents/network-stack/debugging-net-proxy 在此标签=> chrome:// net-internals /#proxy中,我看到使用了哪个pac文件,仅此而已。 使用以下标签:chrome:// net-internals /#events,我看到了每个请求,但是当我使用“ PROXY_SCRIPT_DECIDER”过滤事件时,它不返回任何事件。 我认为我的问题与myIpAddress有关,因此如何测试myIpAddress函数,有没有一种方法可以在没有alert()的情况下调试pac文件?

4
如何在Windows 7上远程执行kill-switch?
我需要在连接到AD的Windows 7 Enterprise计算机上远程执行kill-switch。具体来说,我需要 无需可见的用户交互即可远程访问计算机(我有一个域帐户,该帐户是计算机上的管理员) 使其无法使用机器(崩溃/重新引导并且不重新引导) 保留机器的内容(能够记录更改的内容) 机器必须损坏得足以使基本故障排除失败,并要求将其带到公司服务台。 为了预料到评论:我知道这听起来很可疑,但是在公司环境中,此操作是必需的,经过授权的和合法的。 来自Unix背景,我不知道在Windows计算机上远程可行的方法。理想情况下(再次考虑到Unix背景),我会考虑以下操作 擦除MBR并强制重新启动 拔出钥匙。dll不会在安全启动期间自动恢复的s 编辑以下评论:这是一个非常特殊的取证案例,需要通过这种复杂的方式进行处理。

2
SSSD拒绝使用su登录LDAP:密码错误
我已经使用用户帐户设置了LDAP服务器。我已经成功配置了Rails应用程序以针对该LDAP服务器进行身份验证。我现在正在尝试将SSSD配置为针对LDAP进行身份验证,但它不喜欢单个用户密码。 错误: $ su - leopetr4 Password: su: incorrect password SSSD可以识别用户,但不能识别密码: $ id leopetr4 uid=9583(leopetr4) gid=9583(leopetr4) groups=9583(leopetr4) 用户记录如下所示: # ldapsearch -x -W -D "cn=admin,dc=my_domain,dc=com" -H ldaps://my_hostname.my_domain.com "(uid=leopetr4)" Enter LDAP Password: # extended LDIF # # LDAPv3 # base <dc=my_domain,dc=com> (default) with scope subtree # filter: (uid=leopetr4) # requesting: ALL # …

1
使RHSCL PHP在全球范围内可用的最佳方法
我已经使用以下网址安装了RHSCL 2: https://access.redhat.com/documentation/zh-CN/Red_Hat_Software_Collections/2/html/2.0_Release_Notes/chap-Installation.html 使用RedHat订阅管理器。 然后我跑yum remove php*了yum install rh-php56 一切进行得很顺利,除了现在找不到任何地方的PHP。然后find / -name php,我运行并rh-php56在以下目录中找到: /var/opt/rh/rh-php56/lib/php /opt/rh/rh-php56/register.content/var/opt/rh/rh-php56/lib/php /opt/rh/rh-php56/root/usr/bin/php /opt/rh/rh-php56/root/usr/lib64/php /opt/rh/rh-php56/root/usr/share/php 将这些二进制文件放入/usr/bin通常对于所有用户全局可用的任何其他目录的最佳方法是什么? 安装软件包时是否错过了一步,这就是为什么它在全球范围内不可用的原因?还是使用RHSCL时会发生什么? 我已经测试了这些文件夹中的二进制文件,并且它们在我运行php -v时可以正常工作,因此工作正常。 我的第一个想法是cp进入/bin,/usr/bin但也许有一种正式的方式可以完成我要问的事情? 编辑 无法发表评论,没有回复...从我发布的链接的第3章开始,它说软件收集包必须像这样运行: scl enable rh-php56 'php -v' 哪个有效...但是,如何像$ php -v不使用其他命令一样让它为所有用户运行。我需要全球可用的php二进制文件,以便Web服务器可以使用它并使用普通shell来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.