簡體   English   中英

如何在Linux中的進程的命令行參數中隱藏密碼

[英]How can you hide passwords in command line arguments for a process in linux

在Unix世界中存在一個普遍的問題,那就是當您使用參數啟動進程時,其中一個是敏感參數,其他用戶只需執行ps -ef即可讀取它。 (例如mysql -u root -p secret_pw

我發現最常見的建議就是不這樣做,不要運行帶有敏感參數的進程,而是以其他方式傳遞這些信息。

但是,我發現某些進程在處理完參數后可以更改參數行,例如在進程中查找如下所示:

xfreerdp -decorations /w:1903 /h:1119 /kbd:0x00000409 /d:HCG /u:petr.bena /parent-window:54526138 /bpp:24 /audio-mode: /drive:media /media /network:lan /rfx /cert-ignore /clipboard /port:3389 /v:cz-bw47.hcg.homecredit.net /p:********

注意/ p:***********參數,其中密碼是以某種方式刪除的。

我怎樣才能做到這一點? Linux中的進程是否有可能更改他們收到的參數列表? 我假設僅僅覆蓋在main()函數中獲得的char **args並不能解決問題。 我想也許更改/ proc pseudofs中的某些文件可能有用嗎?

這樣的“隱藏”不起作用。 在一天結束時,會有一個時間窗口,在該窗口中您的密碼是完全可見的,因此即使不是完全沒用,這也是完全無法啟動的。

解決方法是在環境變量中傳遞密碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM