在最后.bashrc
我补充道:
touch /tmp/bash_noninteractive_test
Run Code Online (Sandbox Code Playgroud)
跑步:
/usr/bin/ssh -v -C root@example.com 'ls'
Run Code Online (Sandbox Code Playgroud)
在主机上(之前交互式登录):
% ls -l /tmp/bash_noninteractive_test
ls: cannot access /tmp/bash_noninteractive_test: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我认为~./bashrc
总是来自非交互式 shell,比如通过 SSH?我该如何解决这个问题?
受影响的系统:
% lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
Run Code Online (Sandbox Code Playgroud)
% lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.11 (jessie)
Release: 8.11
Codename: jessie
Run Code Online (Sandbox Code Playgroud) 我已将 BIND 和 ISC DHCPD 配置为协同工作(使用密钥进行更新)。现在并不是它根本不起作用:最常添加前向地图等。
但是,通常情况下,区域的 .jnl 文件(日志)无缘无故地留在那里,并且主区域文件没有更新。这导致在获取 DHCP 租约后某些主机无法解析令人气愤(如果这些主机最初不在区域文件中,或者导致旧地址)。
权限如下所示:
-rw-r--r-- 1 bind bind 691 Dec 10 11:06 myzone.zone
-rw-r--r-- 1 bind bind 765 Dec 10 12:17 myzone.zone.jnl
Run Code Online (Sandbox Code Playgroud)
不应该是权限问题,因为该区域确实(经常)通过 DHCP/DDNS 更新?
这个问题的根源是什么?
操作系统:debian 7.2 x64,稳定版绑定和 isc-dhcp 服务器。
我需要在主动-被动模式下构建 2 节点集群(类似?)解决方案,也就是说,一台服务器是主动的,而另一台是被动的(备用),它不断地从主动复制数据。基于 KVM 的虚拟机将在主动节点上运行。
如果主动节点因任何原因不可用,我想手动切换到第二个节点(成为主动节点和另一个被动节点)。
我看过这个教程:https : //www.alteeve.com/w/AN!Cluster_Tutorial_2#Technologies_We_Will_Use
但是,我没有足够的勇气相信全自动故障转移并构建复杂的东西并相信它可以正确运行。裂脑情况、复杂性以某种方式失败、数据损坏等的风险太大,而我的最大停机时间要求并不严重到需要立即自动故障转移。
我无法找到有关如何构建此类配置的信息。如果您已经这样做了,请在答案中分享信息/HOWTO。
或者也许可以使用 Linux 节点构建高度可靠的自动故障转移?Linux 高可用性的问题在于,像 8 年前一样,人们对这个概念的兴趣激增,而且许多教程现在已经很老了。这表明 HA 在实践中可能存在重大问题,一些/许多系统管理员只是放弃了它。
如果可能,请分享如何构建它的信息以及您在生产中运行集群的经验。
我需要将属于 2 节点 DRBD 集群一部分的盒子脱机以进行硬件服务。
如何强制主(另一个?) DRBD 节点处于独立状态,以便我可以关闭另一个节点?
直接关掉就可以了吗?这样做安全吗?
mkfs.xfs
其中有以下两个选项:
-b block_size_options
This option specifies the fundamental block size of the filesystem. The valid
block_size_options are: log=value or size=value and only one can be supplied. The block
size is specified either as a base two logarithm value with log=, or in bytes with size=.
The default value is 4096 bytes (4 KiB), the minimum is 512, and the maximum is 65536 (64
KiB). Although mkfs.xfs will accept any of these values and create a valid filesystem, XFS
on …
Run Code Online (Sandbox Code Playgroud) 我正在构建仅二进制包:
dpkg-buildpackage -b -us -uc
Run Code Online (Sandbox Code Playgroud)
构建实际上运行成功,但我已经删除了以前版本的包,现在 dpkg-genchanges 抱怨:
dh_builddeb
dpkg-deb: building package `zzz' in `../zzz_01-4_amd64.deb'.
dpkg-genchanges -b >../zzz_01-4_amd64.changes
dpkg-genchanges: binary-only upload - not including any source code
dpkg-genchanges: error: cannot fstat file ../zzz_01-1_amd64.deb: No such file or directory
dpkg-buildpackage: error: dpkg-genchanges gave error exit status 2
Run Code Online (Sandbox Code Playgroud)
有没有办法跳过这一步?我真的不需要它,因为我正在构建供本地使用的 deb 包,而以前的版本是不必要的。
virsh save vm_name memdump
然后virsh restore memdump
恢复一个(正在运行的)VM 就好了。
但是,VM 在 之后关闭virsh save
。我正在为 KVM 虚拟机编写“实时”备份和恢复脚本,因此在备份部分,我显然需要在备份后运行虚拟机。virsh restore memdump
备份后立即执行不是问题,但在我看来基本上没有必要 - 我“应该”能够暂停虚拟机,将其内存保存到文件中,然后简单地恢复/取消挂起虚拟机。
这对于内存很少的虚拟机来说并不是真正的问题,但是如果虚拟机有相当大的工作内存,那么它会不必要地延长备份时间。
不幸的是,即使我virsh suspend
在virsh save
.
有没有办法做到这一点?(即暂停、保存、取消暂停)
在交互式登录时,我得到:
dircolors: no SHELL environment variable, and no shell type option given
Run Code Online (Sandbox Code Playgroud)
但我确实设置了 SHELL 变量:
% set | grep SHELL
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
Run Code Online (Sandbox Code Playgroud)
在~/.bash_profile
我这样的来源.dircolors
:
eval "`dircolors ~/.dircolors`"
Run Code Online (Sandbox Code Playgroud)
我已经在其他 Linux 主机上这样做了,这从来都不是问题,但是当我这样做时vzctl enter $CTID
(带有 Debian wheezy 的 OpenVZ 容器),这总是出现。
为什么要这样做?我该如何解决?
我试图在我的阵列中找到磁盘的 SMART 参数,似乎简单的方法不起作用:
% smartctl -d sat --all /dev/sg0 -H
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-8-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
Read Device Identity failed: scsi error unsupported scsi opcode
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.
root@wrzos ~ % smartctl -d sat -T permissive -T permissive --all /dev/sg0 -H
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-8-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
Read Device Identity …
Run Code Online (Sandbox Code Playgroud) 其他人在.ma
TLD 中注册了一个指向我的网络服务器 IP 地址的名称。
我的域名 foo.bar -> 我的 ip 地址 1.2.3.4
有人定义:
可疑域.ma -> 我的 IP 地址 1.2.3.4
所以这看起来与典型的 DNS 欺骗相反。
问题:
这是在为其他攻击做准备吗?例如,人们登录到可疑域名.ma 网站,然后可疑域名.ma 会在一段时间后更改 IP 地址并将流量重定向到用于窃取凭据的“中间人”服务器?
防止这种情况的最佳方法是什么?
我正在考虑在Host:
标头上阻止 HTTP 请求(即拒绝所有没有Host: foo.bar
设置标头的 http 请求)。这会有效吗,也就是说,攻击者没有合理的方法可以滥用它吗?(那个标题是由浏览器设置的吗?)
在页面中嵌入 javascript 代码以防止这种情况不一定有效,因为攻击者毕竟可以在将 DNS 切换到“中间人”服务器地址时删除此代码。