PCI-DSS 3.0 要求 8.1.8 规定:“如果会话空闲时间超过 15 分钟,则要求用户重新进行身份验证以重新激活终端或会话。” PCI-DSS 2.0 要求 8.5.15 也是如此。
处理在 bash 提示符下空闲的 ssh 会话的第一种也是最明显的方法是强制执行只读的全局$TMOUT900。不幸的是,这仅涵盖坐在 bash 提示符下的会话。PCI 规范的精神还需要终止运行 top/vim/etc 的会话。
我曾考虑编写一个 */1 cron 作业来解析“/usr/bin/w”的输出并杀死相关的 shell,但这似乎是一个生硬的工具。有什么想法可以实际执行规范要求并锁定终端吗?我看过away和vlock; 它们似乎都非常适合自愿锁定您的终端,但我需要一个强制锁定的 cron/守护进程任务。
假设我有一个包含几个文件的目录,如下所示:
$ ls
file1 file2 file3
Run Code Online (Sandbox Code Playgroud)
我想在 bash 中做一些 tab 补全:
$ cat file<tab>
file1 file2 file3
Run Code Online (Sandbox Code Playgroud)
我记得看到有人在做 Tab 补全,shell 将下一部分加粗,所以在这种情况下,它会将文件名的1,2和加粗,3因此它看起来像这样:文件1 文件2文件3
这将告诉您接下来应该输入什么。
我认为这是 的一个功能zsh,但有什么办法可以得到它bash吗?
我试过了:
sudo "some string" >> test.txt
Run Code Online (Sandbox Code Playgroud)
但我收到了拒绝许可的警告。
任何人都可以帮忙吗?
您如何进行转义工作,以便&实际在后台运行第一个命令?
# foo param1 param2 >> run.out &; tail -f run.out
Run Code Online (Sandbox Code Playgroud) 一些 PHP cron 作业最近开始在共享服务器上失败。他们已经运行了将近一年没有错误和更新,但现在由于语法错误而无法运行。发生了什么?
事实证明,这些脚本现在突然在 PHP 4 下运行,而不是 PHP 5。在 /usr/local/bin/php 安装了一个 PHP 4 版本,但这是这些脚本上的“shebang”行:
#!/usr/local/php5/bin/php
Run Code Online (Sandbox Code Playgroud)
我做了一些实验:
% /usr/local/php5/bin/php --version
PHP 5.2.6 (cli) (built: May 11 2008 13:09:39)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
% echo '<?= phpversion() ?>' | /usr/local/php5/bin/php
5.2.6
% printf '#!/usr/local/php5/bin/php\n<?= phpversion() ?>' > version
% chmod …Run Code Online (Sandbox Code Playgroud) 我用fish壳。我正在尝试使用solarized themevim在里面运行,但是除非我运行,否则颜色会损坏:tmux
set -lx TERM screen-256color-bce;
Run Code Online (Sandbox Code Playgroud)
跑步前tmux attach。
每天都要运行它很烦人,所以我想永久设置 TERM 变量。但是,当我使用以下命令设置此特定变量时,fish 似乎忽略了set -U:
$ set -U foo bar; echo $foo
foo bar
$ set -U TERM screen-256color-bce; echo $TERM
TERM xterm
$ set -lx TERM screen-256color-bce; echo $TERM
TERM screen-256color-bce
Run Code Online (Sandbox Code Playgroud)
我甚至试图把set -lx TERM screen-256color-bce在~/.config/fish/config.fish,而是一个新的鱼(启动外tmux)总是TERM设置为xterm。
当一个进程产生一个子shell时,它是如何ulimit继承的?
是按用户、按外壳还是按组合?
具体来说,这是在某些托管 AIX 设备上的 HP 服务器自动化作业由于软硬件之间的交互而失败的情况下发现的ulimits。简而言之,代理(root在处理来自 SA 的命令时作为子外壳运行并生成子外壳)无法处理某些作业,因为其子外壳正在访问ulimit.
增加ulimit解决了问题,但如何ulimit继承以及是否需要提高软限制或硬限制(或两者)的问题仍然悬而未决。
这个问题的正确答案是什么?它可能是特定于 AIX 的,也可能是跨 Unix/Linux 变体的——以哪个更好。
我在 Ngnix 服务器上有一个名为 boot.sh 的 shell 脚本
我试图通过 PHP 调用它,但我认为我没有权限。
如何授予 www-data 运行 boot.sh 的权限 - 并且只允许 boot.sh
当尝试sudo chown或sudo chgrp我得到Operation Not Permitted
我通常通过配置我的 ubuntu
sudo locale-gen --purge en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
我已经安装了语言环境
# locale -a
C
C.UTF-8
en_US.utf8
POSIX
Run Code Online (Sandbox Code Playgroud)
我失踪了可以en_US吗?
我想通过命令将多行消息记录到系统记录器中
echo -e "foo\nbar" | logger
Run Code Online (Sandbox Code Playgroud)
但它显示为 2 个日志。
是否可以记录为单个日志?