如何确保在命令行上input的密码在Linux服务器上完全不存储?

我有一个网页PHP脚本,它在服务器上运行p7zip:

这通过用户提供的密码来encryption他们上传的文件。

其次,密码通过PHP发送给收件人。

密码可以存储在什么地方?

我做了一个grep -r“Passw0rd”/ var / log / *找不到任何东西。

在bash历史上也没有。

Dist是opensuse。

非常感谢!

由于这是通过命令行传递的,它将暂时存储在/proc/ filesystem中。 任何拥有本地帐户的人都可以获得正在运行的进程及其命令行参数的列表。

  cat /proc/[pid]/cmdline 

这给你一个string。 一个例子:

  /usr/bin/Xorg:0-backgroundnone-logverbose7-auth/var/run/gdm/auth-for-gdm-yrx0zQ/database-nolistentcpvt7 

其转化为:

  /usr/bin/Xorg:0 -background none -logverbose 7 -auth /var/run/gdm/auth-for-gdm-yrx0zQ/database -nolistentcp vt7 

cmdline伪文件是世界上可读的,尽pipe它只在进程实际运行时才存在。 按下c键后,这些显示在top

有些程序会操纵这个string,所以它并不代表实际运行的是什么,尽pipe我不知道php是否允许这样做。