Command-Line

如何防止在使用 sudo 時將敏感的 CLI 參數記錄在 journalctl 中?

  • April 4, 2017

在 Ubuntu 16.04 中,日誌會記錄每個 sudo 命令,其中一些包含我不想留在日誌中的敏感參數(例如,明文密碼)。我對如何防止這種情況有一些想法,但我想知道是否有任何正式的方法,理想情況下應該足夠簡單和通用。

例如,如下所示的命令。

$ sudo set_account.sh --password SbdLb9W --pin-number 1234 --other-options

日誌日誌可能會像這樣呈現。

sudo set_account.sh --password ... --pin-number ... --other-options

謝謝。

感謝大家提供非常有用的答案和評論。我想我會繼續使用環境變數加包裝腳本的方法。

不要在命令選項中輸入密碼。

正確的方法是使用環境變數,比如

$ MY_PASSWORD=s3cr3t ./mycommand

但是,mycommand需要知道在環境中查找密碼

密碼將出現在您的 shell 歷史記錄中,但對其他使用者不可見:https ://security.stackexchange.com/questions/138071/are-environment-variables-entered-directly-before-a-command-visible-對其他-

如果您不希望它出現在您的 shell 歷史記錄中,請將上述命令放在腳本中並執行該腳本

如果mycommand呼叫其他程序,注意不要傳給MY_PASSWORD子程序

引用自:https://unix.stackexchange.com/questions/355121