![Как скрыть текстовые пароли при редактировании текстового файла конфигурации?](https://rvso.com/image/1388379/%D0%9A%D0%B0%D0%BA%20%D1%81%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B5%20%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D0%B8%20%D0%BF%D1%80%D0%B8%20%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%20%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D0%B8%3F.png)
Есть такие файлы конфигурации wpa_supplicant.conf
, которые могут содержать пароли в открытом виде. Иногда мне хочется редактировать такие файлы на моем ноутбуке, сидя в общественном месте, поэтому было бы нехорошо показывать свой пароль всем.
Есть ли редактор, который может скрыть пароль, пока я редактирую? Или скрипт-обертка, который берет регулярное выражение и путь к конфигурационному файлу, исправляет все строки, соответствующие регулярному выражению, запускает редактор для полученной копии, исправляет строки обратно и записывает все обратно?
решение1
Должно сработать что-то вроде этого:
#!/bin/sh
tmpfile="$(mktemp)"
sed "s|$2|###PASSWORDLINE###|" < "$1" > "$tmpfile"
patchfile="$(mktemp)"
diff "$tmpfile" "$1" > "$patchfile"
sensible-editor "$tmpfile"
patch -o "$1" "$tmpfile" "$patchfile"
rm "$patchfile"
rm "$tmpfile"