diff --git a/README.md b/README.md index 7a539e0..f4fdf1d 100644 --- a/README.md +++ b/README.md @@ -108,3 +108,50 @@ Powyższy select (dzieki \gset) zapamięta pozyskaną wartość (w tym wypadku p Sekcja if / endif wykona się tylko wtedy, jeśli warunek był true i operacja `\o`, która tworzy nowy plik i resztę wyników kieruje do niego, też wykonuje się warunkowo. W efekcie, jeśli warunek jest spełniony, w katalogu wynikowym działania skryptu pojawi się dodatkowy plik (ekstra.txt) co pozwoli łatwo wychwycić, dla których baz ów warunek występuje. + +## Obsługa plików szyfrowanych + +Od wersji 0.2.0 plik z hasłami (pgpass) musi być zaszyforwany. Szyfrowanie można wykonać następującym poleceniem + +```sh +multisql -P encrypt pgpass.sec pgpass +``` + +Jeśli nie jest ustawiona zmienna środowiskowa MULTISQLPASS, to opcja -P powoduje, że program zapyta o hasło +a następnie zaszyfruje treść pliku pgpass i zapisze go do pliku pgpass.sec. + +> Uwaga: plik pgpass.sec zostanie napisany bez pytania. + +W konfiguracji należy ustawić plik wartość `"Passfile"` na `pgpass.sec`. + +Zaszyfrowany plik można odszyfrować i zapisać do pliku jawnego lub podejrzeć: + +```bash +multisql -P decrypt pgpass.sec # po udanym odszyfrowaniu wyświetli treść pliku +# lub +multisql -P decryp pgpass.sec newpgpass # w tym wariancie odszyfrowana treść zostanie zapisana do newpgpass +``` + +Żeby nie podawać hasła z klawiatury, należy ustawić je w zmiennej środowiskowej: + +Linux: + +```bash +export MULTISQLPASS=abc +``` + +Windows cmd: + +```cmd +set MULTISQLPASS=abc +``` + +Windows, powershell: + +```powershell +$env:MULTISQLPASS = "abc" +``` + +Program nigdy nie pyta o hasła, jeśli wczytał je ze zmiennej środowiskowej. +Jeśli nie podano hasła w zmiennej i nie podano +opcji `-P`, to program przerwie działanie.