相关疑难解决方法(0)

curl 如何防止密码出现在 ps 输出中?

前段时间我注意到curl作为命令行参数提供的用户名和密码没有出现在ps输出中(尽管它们当然可能出现在您的 bash 历史记录中)。

它们同样不会出现在/proc/PID/cmdline.

(不过,可以推导出组合的用户名/密码参数的长度。)

演示如下:

[root@localhost ~]# nc -l 80 &
[1] 3342
[root@localhost ~]# curl -u iamsam:samiam localhost &
[2] 3343
[root@localhost ~]# GET / HTTP/1.1
Authorization: Basic aWFtc2FtOnNhbWlhbQ==
User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.15.3 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Host: localhost
Accept: */*



[1]+  Stopped                 nc -l 80
[root@localhost ~]# jobs
[1]+  Stopped                 nc -l 80
[2]-  Running                 curl -u iamsam:samiam localhost &
[root@localhost ~]# ps -ef | grep curl
root      3343  3258  0 …
Run Code Online (Sandbox Code Playgroud)

security password ps curl arguments

72
推荐指数
2
解决办法
6812
查看次数

如何将密码传递给mysql命令行

foo.php例如P455w0rd,当我尝试使用它时,我将 MySQL 密码保存在一个文件中:

$ cat foo.php | grep '$dbpwd=' | cut -d '"' -f 2 | mysql -U root -p mydb -h friendserver
Enter password: (holds)

$ echo P455w0rd | mysql -u root -p mydb -h friendserver
Enter password: (holds)
Run Code Online (Sandbox Code Playgroud)

这两个选项仍然要求输入密码,从 发送密码的正确方法是stdin什么?

password mysql stdin

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

为什么不应该有人在命令行中使用密码?

为什么人们害怕在命令行中写密码?

历史文件位于 中~/.history,因此它仅对执行命令的用户(和 root)可用。

command-line security bash password command-history

33
推荐指数
3
解决办法
7244
查看次数

是否可以通过 STDIN 提供 Open Office?

我有一个存储在 bash 变量中的 Open Office 电子表格文档。我想做以下类似的事情来通过以下方式提供开放式办公室STDIN

echo "$openOfficeDoc" | ooffice
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

注意: bash 变量的内容不得写入磁盘。

我要强调的是,我正在尝试将文件的实际数据传递给 Open Office。

我正在尝试将密码存储在 Open Office 电子表格文件中。密码使用 GPG 加密。出于安全原因,我不希望将密码写入磁盘。

bash 变量值是 Open Office 电子表格文档的二进制 blob。它不是ASCII。

我用来创建 blob 的 bash 代码是:

data=$(cat "Encrypted.gpg" | gpg -u "Dor" -d)
Run Code Online (Sandbox Code Playgroud)

WhileEncrypted.gpg是 Open Office 电子表格的加密文件。

是否可以通过 STDIN 提供 Open Office?

bash pipe openoffice stdin

7
推荐指数
1
解决办法
3655
查看次数