标签: bash

是否可以在 Linux 上的 Bash 中隐藏恶意别名?

是否有可能在 Linux 系统上隐藏 Bash 中恶意别名的存在,并在用户不知情的情况下执行它?

security linux bash alias malware

9
推荐指数
1
解决办法
1513
查看次数

php5-fpm:用于在重启前检查配置的 bash 脚本

我编写了一个脚本来在 Nginx 上创建新的虚拟主机。该脚本创建 Ningx vhost 配置文件、vhost 用户和目录、php-fpm 池文件。

在脚本的末尾,我想在重新启动 php-fpm 之前检查配置是否正常。对于 Apache,我可以apachectl graceful,但是可以用 做类似的事情php5-fpm -t吗?

scripting php bash php-fpm

9
推荐指数
1
解决办法
2万
查看次数

killall -0 的含义

我从很多地方看到 follow 命令用于检查进程是否存在,例如

killall -0 nginx
Run Code Online (Sandbox Code Playgroud)

但是从文档中我看不到与此论点相关的任何内容,谁能解释一下?

linux ubuntu bash process command

9
推荐指数
1
解决办法
6118
查看次数

更少的“更新文件”之类的功能

我想看一个文件每 5 分钟被覆盖一次less。我怎样才能less跟随新的文件描述符而不是保持旧的显示?watch "cat file"不会这样做,因为文件太长而无法放入一个终端窗口。

bash less watch

9
推荐指数
2
解决办法
7145
查看次数

我可以从以前的终端恢复纳米进程吗?

我的系统在 nano 会话中因未保存的更改而崩溃。

当我通过 SSH 重新登录时,当我执行ps.

davidparks21@devdb1:/opt/frugg_batch$ ps -ef | grep nano
1001     31714 29481  0 18:32 pts/0    00:00:00 nano frugg_batch_processing
1001     31905 31759  0 19:16 pts/1    00:00:00 grep --color=auto nano
davidparks21@devdb1:/opt/frugg_batch$
Run Code Online (Sandbox Code Playgroud)

有没有办法让我在新终端中控制纳米进程?

或者有什么方法可以强制它远程保存(从我的新终端)?

linux bash terminal pid

9
推荐指数
2
解决办法
1万
查看次数

如何在没有用户交互的情况下使用 APT 安装软件包?

我有一个脚本可以下载和替换 Debian 压缩中的内核头文件。

function fixHeaders(){
    #Replace the kernel headers from OVH with standard kernel headers...
    aptitude -y install linux-image-2.6.32-5-amd64  
    sed s/'GRUB_DEFAULT=0'/'GRUB_DEFAULT=1'/g
    update-grub
    echo "Rebooting the machine. Run this script again after reboot and choose option 2."
    sleep 1
    reboot  
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,在 aptitude 下载软件包后,它会将脚本放入文本 gui 并询问用户一堆问题。有什么办法可以跳过这个或在适当的时间发送选项卡/输入来为所有答案选择“确定”?

bash kernel aptitude apt debian-squeeze

9
推荐指数
1
解决办法
8486
查看次数

如何恢复默认的 bashrc?

我不小心覆盖了.bashrc。我做了以下

echo 'export EDITOR=/usr/bin/nano' >> /etc/bashrc

Bur 我不小心输入>>>. 我想,这是一个坏主意。

我仍然可以使用此技巧登录(Ctrl+C在 .bashrc 完全执行之前命中)。但是如何将其恢复为默认值.bashrc

我正在运行 CentOS 6.5 x86_64。如果默认的 bashrc 文件在发行版的某个地方,我找不到它。

bash bashrc

9
推荐指数
2
解决办法
2万
查看次数

无法在 Debian 6.0 上更新 Bash (Squeeze)

我无法在 Debian 6.0 (Squeeze) 服务器上更新Bash以消除发现的漏洞:

bash --version
GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)

apt-get update
apt-get install bash
Reading package lists... Done
Building dependency tree
Reading state information... Done
bash is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
Run Code Online (Sandbox Code Playgroud)

我可以为此服务器使用 Squeeze-LTS 来更新 Bash 吗?一周后我将在另一台服务器上,所以我不会进行任何其他更新。

uname -m
x86_64

lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 6.0.5 (squeeze)
Release:        6.0.5
Codename:       squeeze
Run Code Online (Sandbox Code Playgroud)

linux debian bash

9
推荐指数
1
解决办法
1万
查看次数

如何使用 openssl 从 HTTP GET 请求中获取结果?

我需要使用 openssl 在 shell 脚本中执行一些 HTTP GET 请求。我现在用来执行此操作的行如下所示。这是解析以下格式的 XML 响应的内容。

<Result>success</Result>

<Result>failure</Result>

echo -e "GET /test HTTP/1.1\r\nHost:$(hostname)\r\n\r\n" | openssl 2>&1 s_client -quiet -connect server-url:443 | grep -o -P --color '(?<=Result\>).*(?=\</Result)'
Run Code Online (Sandbox Code Playgroud)

这有效并相应地返回字符串“成功”或“失败”。我面临的问题是该openssl命令在执行 GET 请求后不会终止,而是坐在那里等待更多输入。我相信这是由于隐式的-ign_eof,它阻止了由-quiet选项引起的自动终止。我已经尝试使用该-no_ign_eof选项,但这会导致openssl命令在 GET 请求收到响应之前终止,因此如果我使用它,我将无法获取响应的内容。

如何修改此命令,以便我可以通过 stdin 传递 GET 请求(因为我想将其放入循环中是必需的),但openssl在每次请求后都会终止该命令?

scripting bash openssl shell-scripting

9
推荐指数
1
解决办法
1万
查看次数

作业控制:如何使用作业 ID 终止 sudo 作业

如果我运行作业,sudo我不能运行kill %1它们(不允许操作)。我的第一个想法是sudo kill %1改用,但这当然也不起作用,因为它不会使用 bash builtin kill。有什么技巧可以使这项工作?

// 我知道如何通过它的 PID 杀死一个进程。问题具体是关于如何使用作业 ID 来终止 sudo 作业。

bash

9
推荐指数
1
解决办法
2081
查看次数