我正在寻找一个程序,我可以用它来创建这样的 ASCII 图表:
+---------+
| | +--------------+
| NFS |--+ | |
| | | +-->| CacheFS |
+---------+ | +----------+ | | /dev/hda5 |
| | | | +--------------+
+---------+ +-->| | |
| | | |--+
| AFS |----->| FS-Cache |
| | | |--+
+---------+ +-->| | |
| | | | +--------------+
+---------+ | +----------+ | | |
| | | +-->| CacheFiles |
| ISOFS |--+ | /var/cache |
| | +--------------+
+---------+
Run Code Online (Sandbox Code Playgroud)
它最好是Debian …
我试图了解逻辑运算符优先级在 bash 中是如何工作的。例如,我会期望以下命令不会回显任何内容。
true || echo aaa && echo bbb
Run Code Online (Sandbox Code Playgroud)
然而,出乎我的意料,bbb被打印出来了。
有人可以解释一下,我如何理解bash 中的复合&&和||运算符?
我有一个文件servers.txt,其中包含服务器列表:
server1.mydomain.com
server2.mydomain.com
server3.mydomain.com
Run Code Online (Sandbox Code Playgroud)
当我逐行读取文件while并回显每一行时,一切都按预期工作。打印所有行。
$ while read HOST ; do echo $HOST ; done < servers.txt
server1.mydomain.com
server2.mydomain.com
server3.mydomain.com
Run Code Online (Sandbox Code Playgroud)
但是,当我想通过 ssh 连接到所有服务器并执行命令时,我的while循环突然停止工作:
$ while read HOST ; do ssh $HOST "uname -a" ; done < servers.txt
Linux server1 2.6.30.4-1 #1 SMP Wed Aug 12 19:55:12 EDT 2009 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
这仅连接到列表中的第一台服务器,而不是所有服务器。我不明白这里发生了什么。有人可以解释一下吗?
这更奇怪,因为使用for循环工作正常:
$ for HOST in $(cat servers.txt ) ; do ssh $HOST "uname -a" ; done
Linux server1 2.6.30.4-1 #1 SMP …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个构造 in bash,以确定变量$WORD是否是定义的词之一。我需要这样的东西:
if "$WORD" in dog cat horse ; then
echo yes
else
echo no
fi
Run Code Online (Sandbox Code Playgroud)
bash 有这样的结构吗?如果不是,最接近的会是什么?
我需要允许用户martin切换到martin-test没有密码的用户
su - martin-test
Run Code Online (Sandbox Code Playgroud)
我认为这可以在/etc/pam.d/su. 该文件中已经有一些可以取消注释的行。但是,我不喜欢将 user 添加martin到 group的想法wheel。我不希望给martin任何更多的特权,而不是能够切换到martin-test。我也不想用sudo。
在保持用户权限martin最小的情况下,最好的方法是什么?
显然,shellshock Bash 漏洞利用CVE-2014-6271可以通过 SSH 在网络上被利用。我可以想象这个漏洞是如何通过 Apache/CGI 工作的,但我无法想象这将如何通过 SSH 工作?
有人可以提供一个示例如何利用SSH,以及会对系统造成什么危害?
AFAIU,只有经过身份验证的用户才能通过 SSH 利用此漏洞。这个漏洞对于拥有合法访问系统的人有什么用?我的意思是,这个漏洞没有权限提升(他不能成为 root),所以他只能通过 SSH 合法登录后做更多的事情。
我注意到在我的前面.bashrc有一些行export,例如
export HISTTIMEFORMAT="%b-%d %H:%M "
...
export MYSQL_HISTFILE="/root/.mysql_history"
Run Code Online (Sandbox Code Playgroud)
而其他人则没有,例如
HISTSIZE=100000
Run Code Online (Sandbox Code Playgroud)
我想知道,首先,这是否正确,其次export在.bashrc.
我经常同时登录多个 SSH 会话。要退出多个会话,我按CTRL+ d, 直到我回到我的本地机器上。
但是,我偶尔会按太多次,然后我的终端会退出。
有没有办法让CTRL+d无法关闭我的终端?
我使用终结器作为我的终端模拟器。
我有一个右侧带有数字键的标准键盘(我猜它被称为 104 键键盘)。我只想将数字键用作数字键。这意味着我不想NumLock打开和关闭数字键。
但是,有时会发生(我不知道如何,可能是我不小心按了NumLock键)NumLock关闭了,我必须再次按下它。这是非常烦人的。
是否可以禁用关闭NumLock?
换句话说:我希望我的数字键始终充当数字键,并禁用NumLockswitch。
我正在使用 Debian 和 LXDE(Openbox)。
我已经使用了几年的解决方案,我在 Openbox 中使用它在NumLock按下键时执行脚本。此脚本然后NumLock再次打开。
<keybind key="Num_Lock">
<action name="Execute">
<command>numlock-on.sh</command>
</action>
</keybind>
Run Code Online (Sandbox Code Playgroud)
除了是一个肮脏的黑客之外,这不能可靠地工作。不知何故,我仍然碰巧numlock键盘上的键被禁用了。
我对数字锁定键的想法感到沮丧。numlock和Caps Lock是纯粹的邪恶的概念。
无论如何,我尝试了第二种解决方案,将以下内容放入我的openbox自动启动脚本中:
xmodmap -e 'keycode 77 = Escape'
Run Code Online (Sandbox Code Playgroud)
但这根本不起作用。
首先,当我登录时openbox,一切正常,并且数字键可以作为数字键使用。
但是当我按下时numlock,它不仅禁用了数字键,而且当我按下7例如时,我得到OH,然后数字键用作箭头键。
再次按下NumLock键不会启用数字键。我必须注销并重新登录。
所以xmodmap解决方案没有按预期工作。
我怎样才能一劳永逸地完全禁用密钥的撒旦功能NumLock?
我正在使用chromium browser(chrome) 和pepperflashpluginin Debian。我注意到,chromium/pepperflashplugin 在我的公共接口上打开了一个监听端口,0.0.0.0:5353如下所示netstat:
netstat -lptun
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:5353 0.0.0.0:* 13971/libpepflashpl
Run Code Online (Sandbox Code Playgroud)
我之前一直在使用 Firefox (Iceweasel),我从未见过浏览器/flash-plugin 打开端口。事实上,我从未见过任何客户端应用程序在0.0.0.0.
为什么铬要这样做?
这有必要吗?
我可以禁用这个吗?
我可以在禁用pepperflashplugin的情况下启动chrome吗?