服务器管理员

系统和网络管理员的问答

2
运行apt-get升级后如何避免GRUB错误-Ubuntu
我在EC2上运行ubuntu 14.04。 运行后apt-get upgrade,提示我一个屏幕,要求我重新安装GRUB引导加载程序 GRUB引导加载程序先前已安装到不再存在的磁盘或由于某些原因其唯一标识符已更改的磁盘。确保已安装的GRUB核心映像与GRUB模块和grub.cfg保持同步非常重要。请再次检查以确保将GRUB写入适当的引导设备。 我如何知道应该选择哪个设备? 如果我在计算机上安装了一些附加的EBS怎么办,我也应该选择它们吗? 在升级过程中是否可以避免出现此提示,或者为命令提供一些默认设置? 以下提示是 有新版本的/boot/grub/menu.lst,但当前安装的版本已在本地修改。 安装软件包维护者的版本 保留当前安装的本地版本 显示版本之间的差异 显示版本之间的并排差异 显示可用版本之间的三向差异 在可用版本之间进行三向合并(实验性) 开始一个新的外壳来检查情况 同样的问题在这里: 我怎么知道应该选择哪一个? 在升级过程中是否可以避免出现此提示,或者为命令提供一些默认设置?

5
如何确定负载下HP服务器电源的电源需求?
我购买了HP DL360 G7 1 U机架式服务器。我希望将其放在主机托管设施中。问题是,我见过的几乎所有设施都限制了我可以使用的电量,或者超出了提供的基本电量收取更多的电量。 从服务器的电源额定值严格来说,我相信它说它们每块汲取7安培,其中有2安培。但是我给人的印象是,电源以全倾斜运行时为7安。 如何确定平均电源负载? 服务器将在每个电源上以2.5A的电流运行吗?那就是可乐会提供给我的。

2
OS X授权机制实际上是做什么的?
背景 我试图更好地理解OS X登录过程,以便确定实现VPN Single Sign On的最佳方法。 如果我错了,请纠正我,但我相信- launchd(8)调用gettyent(3),并且因此确定从ttys(5)执行loginwindow.app对/dev/console。 loginwindow.app尝试获取system.login.console授权,授权数据库为此指定了以下机制(与我对其功能的理解一起列出);那些特权的authd进程在进程内运行(作为根用户),而那些没有特权的SecurityAgent进程在进程内运行(作为_securityagent): builtin:policy-banner(显示“ 登录窗口”横幅,如果已设置)。 loginwindow:login (提示输入凭据)。 builtin:login-begin builtin:reset-password,privileged(执行使用Apple ID重置密码)。 builtin:forward-login,privileged (在启动时从EFI转发凭据)。 builtin:auto-login,privileged (在启动时应用自动登录凭据)。 builtin:authenticate,privileged(所调用pam_authenticate(3)用于authorization服务;集“UID”上下文值)。 PKINITMechanism:auth,privileged (通过获取TGT初始化Kerberos)。 builtin:login-success loginwindow:success (确保登录会话免受未经授权的远程访问;将登录记录在系统的utmp和utmpx数据库中;设置控制台终端的所有者和权限)。 HomeDirMechanism:login,privileged (挂载用户的主目录)。 HomeDirMechanism:status (显示主目录安装的进度)。 MCXMechanism:login (应用配置文件)。 loginwindow:done (重置用户的首选项以包括全局系统默认值;使用用户的首选项配置鼠标,键盘和系统声音;设置用户的组权限;从目录服务中检索用户记录并将该信息应用于会话;加载用户的计算环境-包括首选项,环境变量,设备和文件权限,钥匙串访问等;启动Dock,Finder和SystemUIServer;为用户启动登录项)。 问题 我非常想确认我对每种机制功能的理解: 他们的源代码公开吗? 我知道非builtin机制是由可以在下找到的插件定义的/System/Library/CoreServices/SecurityAgentPlugins,但是我找不到从中构建它们的源。我也找不到在哪里builtin定义机制。 如果来源不可用,这些机制是否记录在任何地方? 观察结果 loginwindow:login如果在 builtin:forward-login和之前调用凭证,如何提示输入凭证builtin:auto-login?它是否检查上下文中的此类凭据,如果存在则跳过自身?似乎很奇怪。 此外,如Apple的802.1X身份验证技术白皮书中所述: 配置登录窗口模式并在登录窗口中输入用户名和密码后,将发生两件事。首先,登录窗口将使用用户输入的用户名和密码通过802.1X对计算机进行身份验证。802.1X身份验证成功后,登录窗口将向外部目录验证相同的用户名和密码。 由于该认证的第二阶段由pam_opendirectory.so模块处理,并且取决于存在的网络,因此第一阶段(通过802.1X认证到网络)必须在此之前发生。也就是说,它必须在builtin:authenticate机制之前发生。 从对loginwindow插件二进制文件的随意检查来看,它似乎可以处理802.1X身份验证-但在该插件之前调用的唯一机制builtin:authenticate是loginwindow:login。我认为这种机制不仅会显示登录提示,还会尝试802.1X身份验证,是否正确?(如果是这样,这不仅看起来有点草率,恕我直言,而且表明EFI /自动登录的凭据不能用于802.1X登录窗口身份验证。)

3
Windows Server 2012 R2将356GB重复数据删除到1.32GB
我正在尝试在Server 2012 R2存储空间上进行重复数据删除。昨晚我让它运行了第一个重复数据删除优化,我很高兴地看到它声称减少了340GB。 但是,我知道这太过真实了。在该驱动器上,100%的重复数据删除来自SQL Server备份: 考虑到数据库备份的大小是文件夹的20倍,这似乎是不现实的。举个例子: 它认为13.3GB的备份文件已被重复数据删除为0个字节。当然,当我对其进行测试还原时,该文件实际上不起作用。 更糟的是,该驱动器上还有一个文件夹,其中几乎有TB的数据应该进行大量重复数据删除,但没有删除。 Server 2012 R2重复数据删除能否正常工作?

2
为什么nginx server_name指令的最大长度为14个字符?
我有以下虚拟主机 server { server_name abc.example.com; root /var/www/test/; index index.html; } 运行时nginx -s reload,出现以下错误: nginx:[emerg]无法构建server_names_hash,应增加server_names_hash_bucket_size:32 具有15个或更多字符的任何server_name也会发生同样的情况。 如果我将server_name设置为ab.example.com(或15个字符以下的任何名称),该问题就会停止显现。 为了解决这个问题,我添加了以下内容/etc/nginx/nginx.conf(之前未定义): server_names_hash_bucket_size 64; 将其设置为33也可以,但不是32。 为什么server_name的默认最大长度为14个字符? 此限制是由nginx的默认设置还是由其运行的系统施加的? server_name 15如何影响最大哈希存储桶大小?(系统上仅定义了4个虚拟主机)

3
什么是ToD服务器,“一天中的时间”(不是NTP)
我有一个简单的任务:设置ToD服务器...不是NTP。它在端口37上运行。它似乎与inetd或xinetd捆绑在一起。 应安装在Debian或CentOS上。或者是FreeBSD(pfsense路由器)。 关于如何进行的任何提示?我陷入困境后的两个入门链接: http://www.linuxquestions.org/questions/linux-server-73/tod-server-641674/ http://en.wikipedia.org/wiki/Time_Protocol 如果一种方法可以测试ToD服务器是否已经全部运行,也将非常感激。我有很多服务器正在运行,但不知道其中是否有任何服务器已经在运行ToD服务 原因:我将设置一个使用CMTS的COAX宽带电缆和使用称为DOCSIS 3的电缆调制解调器的解决方案。为此,电缆调制解调器需要从ToD服务器接收一个时间(一天中的时间)。 更新/解决方案 时间是RFC 868,由于NTP和其他更好,因此几乎不再使用。但是某些系统需要使用旧的RFC 868端口37超时-例如,使用CMTS的COAX上的Internet和电缆调制解调器需要一个工作时间服务器(在DOCSIS文档中称为“时间服务器” = ToD服务器)。可以为Debian安装的xinetd包括一个时间服务器。只需在etc / xinetd.d / time中启用(对于TCP和/或UDP,禁用=否)
13 time  xinetd  inetd 

4
尝试创建AWS :: Route53 :: RecordSet时,AWS CloudFormation返回“无效请求”
我对此不知所措。 99%的时间CloudFormation很好地为您提供了可以使用的调试消息,但是“无效请求”使我感到困惑,尤其是在资源非常简单的情况下。 据说这是给我一些问题的资源(由Ansible生成的模板,因此是{{...}}符号), "DatabaseDNSRecord": { "Type": "AWS::Route53::RecordSet", "Properties": { "HostedZoneId": "HOSTED_ZONE_ID", "Name": "db.{{ item.env_name|lower }}v2.<DOMAIN>.com.", "ResourceRecords": [ { "Fn::GetAtt": [ "Database", "Endpoint.Address" ] } ], "Type": "CNAME" }, "DependsOn": "Database" } 从我从文档中可以看出,所需的所有内容都正确无误且以正确的格式显示。 我唯一能想到的就是将这个资源添加到我先前创建的现有 CloudFormation堆栈中,该堆栈已经创建了该Database资源,根据记录,这是一个AWS::RDS::DBInstance(很高兴也可以为此发布资源模板,没什么特别的) 。 为什么我收到“无效请求”的任何想法? 谢谢。 编辑:我尝试了此操作,并且没有TTL,出现同样的错误。

4
反向DNS查找
大家早, 我已经将一个拥有约150万个DNS记录的域交给了总共十万台机器。DNS记录全部位于同一域的单个正向查找区域中,只是为了提供帮助,没有反向查找区域。 由于“清除和老化”不是一种选择(这真是我的运气!),我需要找到一种简便的方法来消除大量陈旧记录。 对我来说,最简单的出发点是删除所有时间戳超过一年的记录(大约2700条记录),但是其中一些仍在响应ping。 奇怪的是,这是因为我们使用了DHCP,并且此后将IP分配给了新主机。 通常,反向查找区现在很方便,这样我就可以为一个IP查找多个注册,但是正如我之前所说的-没有。 任何人都知道,找到重复的简单方法吗?我已经考虑过从DNS完全导出为CSV并开始进行排序和过滤,但是对于2k记录,我希望可以更轻松一些。 另外,由于我们运行的某些套件的糟糕性质,仅删除记录并允许重新注册是不可行的! 有什么想法吗? 编辑:不是所有的机器都加入AD,所以AD / DNS比较是不可能的。 编辑2:全面投票,这里有一些非常好的建议!我已经开始在Excel中进行导出和共映射工作,正在对正在运行的每个IP /主机执行ping操作,将日志记录到测试文件中,以查看实际情况和不实际情况,并正在等待变更批准以进行数据包捕获以开始实时监视。这些脚本也很有用,尽管我不会以当前格式使用它们,但它们为我编写自己的东西提供了良好的基础。感谢大家!

1
使用icacls列出目录所有权
我试图找出IIS_IUSRS在目录下具有某些文件夹的FullControl。 例 我有c:\ inetpub \ sites \ 在c:\ inetpub \ sites \下,我大约有50个站点文件夹 在每个文件夹中,我有3个文件夹,分别称为上载,媒体,请求。 我想了解BUILTIN \ IIS_IUSRS是否具有FullControl 几个问题,并非所有站点都有上传,媒体,请求,有些可能只有上传,媒体或媒体,请求或仅媒体等。 我尝试使用Powershell的几个命令。 Get-ChildItem -Recurse | Get-Acl | out-string -stream | select-string -pattern "media" Get-ChildItem -Recurse | Get-Acl | out-string -stream | select-string -pattern "uploads" Get-ChildItem -Recurse | Get-Acl | out-string -stream | select-string -pattern …

1
如何使秒正确忽略时间戳
我有一个这样设置的规则; 在/etc/sec/rules.d中,我有; type=SingleWithSuppress ptype=regexp pattern=(\S+) sshd\[\d+\]: PAM \d+ more authentication failures\; logname=.* uid=.* euid=.* tty=ssh ruser=.* rhost=(.*) user=(.*) desc=Login Failure: $0 action=pipe '%s ' /bin/mail -s "login failure $2 to $3@$1" team@team.com window=300 因此,如果这是通过syslog来的; Nov 21 11:24:10 servername.server.com sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= …
13 linux  logging  syslog  regex 

1
Docker运行时未将参数附加到映像入口点
我有一个Dockerfile与: ENTRYPOINT ["uwsgi", "--ini /home/docker/app/uwsgi_app.ini"] (没有CMD) 当我运行时,uwsgi正确地抱怨: uWSGI running as root, you can use --uid/--gid/--chroot options *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 现在,我认为可以通过以下方式将参数附加到入口点docker run: $ docker run -itP uwsgi_app:0.1 --uid=docker 但是uwsgi仍然抱怨相同的错误,似乎arg尚未附加。 如果我覆盖了入口点,则会添加arg: $ docker run -itP --entrypoint bash uwsgi_app:0.1 --uid=docker bash: --uid=docker: …
13 docker 

3
MSTSC:远程桌面上的黑色区域
我正在从Windows Server 2012 R2通过RDP(mstsc.exe)连接到运行Windows 8.1的Hyper-V虚拟机。VM托管在我连接的同一台计算机上。 直到今天一切都很好。今天,当我连接到虚拟机时,我发现窗口无法正确渲染,并且具有随机的黑色矩形,如下面的屏幕截图所示: 在所有程序以及我要打开的任何窗口中都会发生此问题,请调整大小。滚动等 我尝试过重新连接到VM,重新引导VM,更改VM上的Windows主题,禁用和重新启用VM上的显示和显示驱动程序,更改Mstsc中的分辨率和颜色深度,禁用服务器和VM上的防火墙确保打开端口-没有帮助。 有人建议我可以尝试解决此问题吗?

1
通过HTTP标头将SSL协议信息传递到后端
在最近发现Poodle漏洞之后,我们的团队决定从SSLv3继续。但彻底清除之前,他们要提醒的日常用户,他们的浏览器使用过时的SSLv3。因此,我们想到了 从前端SSL卸载检测协议(SSLv3,TLS1等)(我们使用nginx) 通过HTTP标头将该信息(SSL协议)传递给Apache后端。 然后,我们的后端代码将处理该标头,并在客户端使用SSLv3时发出警告。 我知道nginx具有功能proxy_set_header。所以这个简单 proxy_set_header X-HTTPS-Protocol $something; 现在,问题是:很明显nginx知道客户端使用的协议,但是如何通过HTTP头将信息传递给后端呢? 谢谢 正如类似的线程Apache重定向用户所指出的,如果他们使用的是SSLv3,则这种想法可能会变得非常糟糕。 原因是TLS握手发生在通过TLS隧道发送HTTP通信之前。当我们的后端检测到SSL协议时,客户端可能已经在他的第一个请求中发送了私有数据。对于永久和长期的解决方案,我们应考虑禁用SSLv3。
13 nginx  ssl  poodle 

1
在放置命令(chroot环境)后,OpenSSH SFTP服务器是否使用umask或保留客户端权限?
我知道这个问题已经讨论过了,但是通过阅读帖子我无法弄清楚答案,因为有些人说“是umask可以工作”,而另一些人说“ OpenSSH put命令始终保留权限” 只是为了精确起见: 我在RHEL 6.2上使用OpenSSH 5.9 我已经使用internal-sftp子系统配置了chroot式SFTP服务器,并使用-u 0002了umask 我精确地说我不使用-por -P选项 一方面,我读过:有很多方法可以为SFTP传输定义umask: 选项-u的internal-sftp(或sftp-server)中,由于5.4的OpenSSH 创建一个包装器sftp-server(我们在其中明确设置了umask-这不适用于chroot环境btw) 在pam.d/sshd文件中添加特定的配置 另一方面,我读到: OpenSSH SFTP客户端和服务器会传输权限(作为扩展名),并在本地使用权限创建远程文件。AFAICT,无法禁用此行为。 所以我做了以下测试: 在我的客户端上,我创建了具有权限600和700的文件MYFILE和目录MYDIR。 然后用sftp命令: mkdir => the new directory has permissions following the umask (OK) put MYFILE => MYFILE has same permissions as on client (KO) put -r MYDIR => MYDIR has same …
13 ssh  sftp  umask 

4
是否可以在Apache中为单个VirtualHost(长卷毛狗)设置SSLProtocol?
我正在尝试测试针对狮子狗漏洞的补丁,该补丁涉及在Web服务器上禁用SSLv3。为了首先在非生产环境中进行测试,我在VirtualHost上为另一台测试服务器设置了SSLProtocol。我的配置看起来像这样: <VirtualHost *:443> SSLEngine On SSLProtocol All -SSLv2 -SSLv3 ServerName test.mysite.com # bunch of other stuff omitted </VirtualHost> 但是,即使在重新启动apache之后,我的测试站点仍然被称为易受攻击的站点。这有望奏效吗?我想知道是否必须在全局ssl配置中进行设置,或者是否还有其他细微之处导致设置无法使用和/或起作用。

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.