Command-Line
如何防止在使用 sudo 時將敏感的 CLI 參數記錄在 journalctl 中?
在 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
子程序