Questions tagged «linux»

Linux是基于Linux内核的类UNIX开源操作系统的通用术语。

1
可能被劫持的SSH会话和SSH最佳做法
我现在有点吓坏了。我正在SSH进入最近已调试的远程服务器。我正在以此为根。我已经安装了fail2ban,并且日志中有大量被禁止的IP。 上次登录时,我发现我的终端确实很慢,然后我的互联网连接断开了。当我大约5分钟后买回它时,我重新登录服务器并做了一个“ who”操作,并意识到有两个root用户登录。我本以为,如果我的连接终止了,从上次会话开始的过程将是在服务器上停止了? 当我第一次断开连接时,连接以“写入失败:管道破裂”结束。我用另一个根杀死了bash会话。我对SSH安全性了解不多,但是可以劫持会话吗?有没有办法检查这个?我需要继续通过ssh登录,应采取哪些预防措施?如果我不知何故要通过代理服务器到达我的服务器(就像中间攻击中的一个人),他们会劫持我的ssh会话吗?
14 linux  ssh  security  unix  hacking 

2
有关多个包装管理系统的良好实践
某些编程语言带有其自己的程序包管理系统,例如,对于R而言,内置install.packages命令从CRAN存储库安装并处理依赖项。 同时,OS带有自己的软件包管理系统,例如apt基于debian的Linux发行版的命令。 我已经决定最好使用发行版的软件包管理器,以确保系统上的所有内容都兼容(请参阅/programming//a/31293955/1878788)。 但是很快有一天,我需要用这种方式无法获得的东西。例如,我的发行版未打包的生物信息学程序将需要R的某些特定版本。碰巧该程序可通过名为“ bioconductor”的项目获得,该项目的目的是为生物信息学提供R软件包,以确保软件包将彼此兼容(请参阅https://www.bioconductor.org/install/#why-biocLite)。 因此,我决定不对R使用OS打包管理系统,biocLite而是通过bioconductor项目提供的命令安装所有内容。 这种方法运行了一段时间,直到我发现要维护连贯,健康且易于重建的生物信息学生态系统,有人决定使用conda软件包管理系统。这个名为“ bioconda”的项目不仅提供R包,而且还提供来自各种语言的内容,并且可以轻松切换版本,等等(请参阅https://bioconda.github.io/)。 然后,我决定改用这种方法,并且运行平稳,直到我需要由bioconda / conda未提供的R包为止。据说这非常容易,但是我制作conda包装的尝试失败了,然后我尝试使用生物导体方法安装该包装,但再次失败了。我的印象是,软件包构建机制在某种程度上使用了错误的R安装。因此,我决定删除我(仍然很年轻)的conda安装,然后回到我的生物导体生态系统。 我想知道从一种方法跳到另一种方法需要多长时间。是否有关于如何处理包装管理的多个,干扰和重叠级别的通用良好实践? 编辑(14/09/2017):我考虑的另一种选择是使用替代的OS级软件包管理器,例如Guix或Nix。

1
正常运行18天后,systemd使用4GB RAM
我有一台运行CentOS 7的Web服务器,经过几周的正常运行时间后,systemd进程在该服务器上使用了近4 GB的RAM。RAM使用量稳定增长,每天约200MB。该进程以及诸如systemd-logind和dbus-daemon之类的相关进程在很多时候也使用大量的CPU。我的其他使用“ init”代替systemd的CentOS 6服务器没有这种资源使用情况。 在下面的顶部示例中,在不运行其他进程的正常Web服务期间,systemd,systemd-logind,systemd-journal和dbus-daemon总共使用了10.7%的四核CPU,而systemd消耗了19%的四核CPU。系统的16GB RAM。这不是正常现象,经过搜索后,我再也没有发现其他人遇到这个问题。是什么导致这种资源浪费?任何建议,将不胜感激。 空闲期间从顶部输出(Web服务除外): top - 08:51:31 up 16 days, 13:43, 2 users, load average: 1.84, 1.39, 1.07 Tasks: 297 total, 2 running, 295 sleeping, 0 stopped, 0 zombie %Cpu(s): 5.6 us, 3.6 sy, 0.0 ni, 90.6 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st …
14 linux  kernel  systemd 

1
net.core.rmem_max和net.ipv4.tcp_rmem之间的区别
net.core.rmem_max和net.ipv4.tcp_rmem的第三个值之间有什么区别?哪个具有较高的TCP连接优先级? 对于下面的两个示例,tcp连接的最大缓冲区是多少? Case 1: sysctl -w net.core.rmem_max=7388608 sysctl -w net.ipv4.tcp_rmem='4096 87380 8388608' Case 2: sysctl -w net.core.rmem_max=8388608 sysctl -w net.ipv4.tcp_rmem='4096 87380 7388608'

2
Linux容器中的循环设备?
我试图在容器内使用循环设备来挂载一些图像文件: > sudo losetup /dev/loop0 test.img losetup: /dev/loop0: failed to set up loop device: No such file or directory /dev/loop0 确实不存在,并且 > sudo mknod /dev/loop0 b 7 0 mknod: ‘/dev/loop0’: Operation not permitted 我该如何工作?容器是否需要一些可能没有的cgroup权限?

3
Ulimit文件描述符限制不适用于特定进程
我最近检查了我们的Redis流程之一,使用以下方法对ulimit进行了应用: cat /proc/<redis-pid>/limits 很惊讶地得知这是默认的低值: Limit Soft Limit Hard Limit Max open files 4016 4016 我很惊讶,因为我们配置了以下内容: # /etc/sysctl.conf fs.file-max = 100000 。 # /etc/security/limits.conf * soft nofile 100000 * hard nofile 100000 。 # /etc/ssh/sshd_config UsePAM yes 。 # /etc/pam.d/sshd session required pam_limits.so 谁能告诉我为什么未将增加的ulimit应用于正在运行的Redis进程? Redis进程以用户“ redis”的身份运行,由于限制增加,服务器已重新启动。我们在Debian Squeeze上。
14 linux  debian  ulimit 

2
Linux ssh:允许公钥身份验证,而无需授予用户对私钥的读取权限
在我的Linux服务器上登录的用户应该能够使用默认帐户ssh到特定的远程计算机。远程计算机上的身份验证使用公钥,因此在服务器上相应的私钥可用。 我不希望服务器用户实际能够读取私钥。基本上,他们可以访问服务器这一事实使他们拥有ssh权限,并且从服务器中删除它们也应该禁止连接到远程计算机。 如何允许用户打开ssh连接而不授予他们对私钥的读取权限? 到目前为止,我的想法是:显然ssh可执行文件必须能够读取私钥,因此它必须在具有这些权限的服务器上的另一个用户下运行。一旦建立了ssh连接,我就可以将其“转发”给用户,以便他可以输入命令并与远程计算机进行交互。 这是一个好方法吗? 我应该如何实施前锋? 用户如何启动连接(即对密钥具有读取权限的用户执行ssh)? 有安全漏洞吗?-如果用户可以像其他用户一样执行ssh,那么他们可以做其他用户可以做的所有事情(包括读取私钥)吗?

2
有没有办法在grub中创建“一次性”启动项?
我有以下问题:我有一台小型服务器(基于Debian),可以远程连接(VPN / SSH连接)。现在,我想更改一些引导选项(实际上,我想将根文件系统迁移到另一个分区),因此必须重新引导系统。 实际上,我担心某些事情可能会发生严重错误,并且SSH和VPN都无法启动。在这种情况下,我必须亲自去很远的服务器。我可以要求某人重新启动(如果出现内核紧急情况,...),但是没有人有资格修复系统。因此,我的问题是: 是否有可能在GRUB2配置中创建一个条目,使该条目仅在下次引导时才是默认条目?因此,如果有问题,我可以重新引导并使用旧系统进行恢复吗?如果引导顺利进行(我希望如此),则可以更改grub,使其默认情况下从新系统引导。

2
可以采取哪些措施来改善具有零星互联网访问的网络上的时间同步?
我正在寻找为非典型网络设置时间服务器的建议。我支持许多偶尔访问互联网的封闭网络。一个网络在大多数时间里都可以访问数小时,但是经常会耗费1-3周的时间。该网络上的计算机/服务器主要基于* nix,但并非都具有相同的风格。整个网络都是移动的,因此当它连接时,它与Internet时间服务器的跃点/等待时间将有很大的不同。封闭网络上的服务器经常(至少每天)关闭一次电源。现在,我的直觉告诉我要使用NTP(因为我讨厌重新学习别人已经可以正常工作的所有内容)。但是我有几个问题,并且正在寻找在这种奇怪情况下有经验的人。我目前没有解决方案,我 m只是让内部时钟漂移。在大多数网络中,这导致大约600s的错误。我发现不匹配的严重性超过10,000。 在这种情况下,是否有比NTP更“好”的东西?我知道NTP喜欢非常频繁,一致地访问提供几乎相同答案的服务器。我不会的 我应该配置多少个内部NTP服务器,以便在Internet中断期间,我的内部时间在封闭的网络中保持一致? 没有人可以进入。无论不匹配有多大,服务器都必须尝试自行纠正。 离散步骤非常糟糕。不管失配有多大,校正都必须“转换”,而不是“步进”。我知道这可能需要几个小时才能纠正。

5
SSH问题:从套接字读取失败:对等连接重置
我在其中一台服务器上编译了OpenSSH_6.6p1。我可以通过SSH登录到升级后的服务器。但是我无法由此连接到其他运行OpenSSH_6.6p1或OpenSSH_5.8的服务器。连接时出现以下错误。 Read from socket failed: Connection reset by peer 在日志中的目标服务器上,我看到了以下内容。 sshd: fatal: Read from socket failed: Connection reset by peer [preauth] 我试图指定cipher_spec [SSH -c AES128-CTR目的地服务器]中提到这里,并能连接。默认情况下如何配置ssh以使用密码?为什么在这里需要密码?
14 linux  ssh  ssl 

4
在单用户模式下如何启动第二个Shell?
这听起来似乎有点矛盾,但是最近我需要在一段时间(几天!)内使用单用户模式(又称维护模式)来尝试重建损坏的RAID阵列。 在执行此操作时,我发现自己想使用第二个Shell进行诸如检查/编辑各种配置文件中的设置或查看系统日志(而主控制台(也是唯一的控制台)捆绑执行某些恢复过程)的事情。 在另一个tty上启动第二个shell的推荐命令是什么? 显然,一种方法可能是screen在tty1中使用,但是要切换与Alt-F1,Alt-F2等的会话并不容易。
14 linux  shell 

3
如何保存:每周备份一次,每周备份一个月,每月备份一年,之后每年备份一次
我每天需要备份此服务器上的数据和配置文件。我需要保持: 一周的每日备份 每周备份一个月 一年的每月备份 之后每年备份 所有这些都是通过每天从cron运行的shell脚本完成的。 这是运行10年后备份文件的外观: blog-20050103.tar.bz2 blog-20060102.tar.bz2 blog-20070101.tar.bz2 blog-20080107.tar.bz2 blog-20090105.tar.bz2 blog-20100104.tar.bz2 blog-20110103.tar.bz2 blog-20120102.tar.bz2 blog-20130107.tar.bz2 blog-20130902.tar.bz2 blog-20131007.tar.bz2 blog-20131104.tar.bz2 blog-20131202.tar.bz2 blog-20140106.tar.bz2 blog-20140203.tar.bz2 blog-20140303.tar.bz2 blog-20140407.tar.bz2 blog-20140505.tar.bz2 blog-20140602.tar.bz2 blog-20140707.tar.bz2 blog-20140728.tar.bz2 blog-20140804.tar.bz2 blog-20140811.tar.bz2 blog-20140816.tar.bz2 blog-20140817.tar.bz2 blog-20140818.tar.bz2 blog-20140819.tar.bz2 blog-20140820.tar.bz2 blog-20140821.tar.bz2 blog-20140822.tar.bz2
14 linux  backup  bash 

3
通过SSH隧道在多跳上复制数据
我们有两个主要的问题环境: 开发和质量保证 每个环境都有两个服务器: 跳箱 应用服务器 为了连接到应用程序服务器,必须先连接到跳转框,然后再通过SSH到应用程序服务器。 防火墙提供了一些规则: 您必须通过跳转框连接到应用程序服务器 应用程序服务器无法连接到任一跳转框 跳转框位于同一子网中,并且可以相互通信。 我们的问题 上有很多内容(670 GB)DEVELOPMENT APPLICATION SERVER,我们需要将此内容带到QA APPLICATION SERVER。 不能将这些数据复制到跳转框,因为它们缺少所需的空间量。 我进行了一些研究,了解到我们可以通过这些服务器建立一系列隧道,以便我们可以通过隧道将数据从一个应用程序服务器直接流到另一个服务器。但是,我们无法从应用程序服务器连接到跳转框的问题。 我们有什么选择吗?这将成为一个绝望的局面,而时间至关重要。我们没有时间下载数据并重新上传。通过服务器上的网络进行复制将很快进行,因为它是千兆连接。
14 linux  ssh  ssh-tunnel  tunnel 

8
我的Oracle DBA是否需要root访问权限?
我的Oracle DBA同事正在请求对生产服务器进行 root访问。 他在争论自己需要它来执行一些操作,例如重新启动服务器以及执行其他一些任务。 我不同意他的说法,因为我已经给他设置了Oracle用户/组和Oracle用户所属的dba组。一切运行顺利,并且DBA当前没有root访问权限。 我还认为,诸如计划的服务器重新启动之类的所有管理任务都必须由适当的管理员(在我们的案例中为系统管理员)完成,以避免与基础设施交互作用的误解有关的任何类型的问题。 我想要sysadmins和Oracle DBA的输入-Oracle DBA是否有充分的理由在生产环境中具有root用户访问权限? 如果我的同事确实需要这种访问级别,我会提供它,但是由于安全和系统完整性方面的考虑,我非常害怕这样做。 我不是在寻找优点/缺点,而是在如何应对这种情况方面提供建议。

2
在基于Linux的数据中心中检测时间漂移的策略是什么?
在所有基于Linux的数据中心中检测时间漂移的策略是什么?这个问题比起初看起来要困难得多。 时间漂移会对某些应用程序造成严重问题,而且即使安装了NTP,通常也会由于以下(以及更多)原因而导致失败: NTP未正确设置为在重新启动时自动重新启动。 服务器上的设置不正确,因此它指向的时间服务器不可达或不准确。 主时间服务器无法访问,并且所有与其同步的服务器现在正在同步到不可靠的源。 我想要一种检测所有单个服务器是否正确的方法。请记住,带有测试脚本/应用程序的服务器可能不正确。
14 linux  monitoring  ntp  time 

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.