Security
ps 怎麼知道隱藏密碼?
見證:
$ ps f PID TTY STAT TIME COMMAND 31509 pts/3 Ss 0:01 -bash 27266 pts/3 S+ 0:00 \_ mysql -uroot -p 25210 pts/10 Ss+ 0:00 /bin/bash 24444 pts/4 Ss 0:00 -bash 29111 pts/4 S+ 0:00 \_ tmux attach 4833 pts/5 Ss+ 0:00 -bash 9046 pts/6 Ss 0:00 -bash 17749 pts/6 R+ 0:00 \_ ps f 4748 pts/0 Ss 0:00 -bash 14635 pts/0 T 0:02 \_ mysql -uroot -px xxxxxxxxxxxxxxxx 16210 pts/0 S+ 0:01 \_ mysql -uroot -px xxxxxxxxxxxxxxxx
ps 是如何知道隱藏
mysql
密碼的?我可以將其合併到我自己的腳本中以隱藏特定的 CLI 屬性嗎?
ps
不隱藏密碼。像 mysql 這樣的應用程序會覆蓋他們得到的參數列表。請注意,有一個較短的時間範圍(可能會因係統負載高而延長),其中參數對其他應用程序可見,直到它們被覆蓋。向其他使用者隱藏該過程可能會有所幫助。一般來說,通過文件傳遞密碼比通過命令行傳遞密碼要好得多。在本文中,它描述了 C,如何做到這一點。以下範例隱藏/刪除所有命令行參數:
#include <string.h> int main(int argc, char **argv) { // process command line arguments.... // hide command line arguments if (argc > 1) { char *arg_end; arg_end = argv[argc-1] + strlen (argv[argc-1]); *arg_end = ' '; } // ... }