Передача конфиденциальных данных через канал или здесь -doc:
command_with_secret_output | command_with_secret_input
или:
command_with_secret_input <<EOF
$secret
EOF
Это нормально, если секреты находятся в (не -экспортированных )переменных оболочки, но вы никогда не сможете использовать эти переменные в командных строках, только в -документах и внутренних компонентах оболочки.
Как заметил Кусалананда в комментарии, если вы вводите команды в интерактивной оболочке, строки, которые вы вводите для документа здесь, будут сохранены в истории оболочки, поэтому вводить там пароль небезопасно, но это по-прежнему должно быть безопасно использовать переменные оболочки, содержащие секреты; история будет содержать текст $secret
, а не то, до чего расширяется $secret
.
Использование расширений команд небезопасно:
command_with_secret_input "$(command_with_secret_output)"
, потому что вывод будет включен в командную строку и виден в ps
вывод (или ручном чтении из /proc ), за исключением систем с усиленным /proc.
Присвоение переменной тоже допустимо:
secret=$(command_with_secret_output)
Кажется, что эти две структуры противоречат друг другу. выберите один из двух плагинов xfce4 -statusnotifier -или xfce4 -индикатор -плагин