Dell Unity: problemi UEMCLI con caratteri speciali nella password amministratore
Summary: Quando si utilizza UEMCLI su sistemi operativi Linux o Microsoft, alcuni caratteri speciali nelle password potrebbero essere interpretati dal sistema operativo anziché passati come parte della password. Questo comportamento è previsto ed è determinato dal sistema operativo; Fare riferimento alla documentazione del sistema operativo per indicazioni sui caratteri speciali e di escape dei caratteri supportati. ...
Symptoms
UEMCLI con i sistemi VNXe o Dell Unity su sistemi operativi Linux o Microsoft, alcuni caratteri speciali nelle password potrebbero essere interpretati dal sistema operativo anziché essere passati come parte della stringa della password.
$ carattere su Linux).
[user@localhost ~]$ uemcli -d <IP> -u linuxtest -p xRz4bJH$Wxv /sys/general show
Storage system address: <IP>
Storage system port: 443
HTTPS connection
Operation failed. Error code: 0x6000001
You do not have access to perform the requested operation. (Error Code:0x6000001)
$ carattere non viene interpretato in modo diverso dal sistema operativo. Tuttavia, le virgolette doppie (") sono trattati come caratteri speciali. Se una password contiene una virgoletta doppia e non viene correttamente preceduta da un carattere di escape, UEMCLI Potrebbe non restituire un errore di autenticazione. Al contrario, il comando può visualizzare il UEMCLI help anziché l'output del comando previsto.
C:\Users\user>uemcli -d <IP> -u microsofttest -p Pass"word123! /sys/general show
[Get help on client options]
uemcli -help {CMDHELP | CMD | -upload | -download |
-version | -saveUser | -removeUser | -removeAllUsers |
-default | -certList | -certDel | -certClear |
-certImport}Cause
Alcuni caratteri hanno un significato speciale per il sistema operativo e possono essere interpretati come sintassi della riga di comando piuttosto che come parte della password. Di conseguenza, la password passata a UEMCLI può differire dalla password inserita dall'utente.
Questo comportamento è previsto e non è un difetto in UEMCLI o Unisphere. Per informazioni su come utilizzare o eseguire l'escape di caratteri speciali negli argomenti della riga di comando, consultare la documentazione fornita dal fornitore del sistema operativo.
Resolution
-securePassword opzione invece dell'opzione -p durante l'esecuzione di comandi UEMCLI. I tasti -securePassword richiede la password in modo interattivo, impedendo al sistema operativo di interpretare caratteri speciali e assicurandosi che la password non venga visualizzata sullo schermo o registrata nella cronologia dei comandi o nei registri.
[user@localhost ~]$ uemcli -d <IP> -u linuxtest -securePassword /sys/general show
Password:
Storage system address: <IP>
Storage system port: 443
HTTPS connection
1: System name = Unity Array
Model = Unity 300
Platform type = EMC Storage System
Product serial number = CKM00161XXXXXX
Auto failback = on
Health state = Major failure (20)
if UEMCLI utilizzato negli script, accertarsi che tutti i caratteri speciali nelle password siano preceduti da caratteri di escape appropriati in base ai requisiti della riga di comando del sistema operativo. Un metodo comune consiste nel anteporre ai caratteri speciali una barra rovesciata (\), che può aiutare a evitare che vengano interpretati dalla shell.
In Linux, racchiudere la password tra virgolette singole ed eseguire l'escape di eventuali caratteri speciali con una barra rovesciata. L'utilizzo delle virgolette singole potrebbe non essere sufficiente per tutti i caratteri speciali.
Esempio:
Password racchiusa tra virgolette singole con il carattere speciale preceduto da un carattere di escape; il comando ha esito positivo:
[user@localhost ~]$ uemcli -d <IP> -u linuxtest -p 'xRz4bJH\$Wxv' /sys/general show
Storage system address: <IP>
Storage system port: 443
HTTPS connection
1: System name = Unity Array
Model = Unity 300
Platform type = EMC Storage System
Product serial number = CKM00161XXXXXX
Auto failback = on
Health state = Major failure (20)
Racchiuso tra virgolette singole senza escape, il comando ha esito negativo:
[user@localhost ~]$ uemcli -d <IP> -u linuxtest -p 'xRz4bJH$Wxv' /sys/general show
Storage system address: <IP>
Storage system port: 443
HTTPS connection
Operation failed. Error code: 0x6000001
You do not have access to perform the requested operation. (Error Code:0x6000001)
Nei sistemi operativi Microsoft Windows, i caratteri speciali che influiscono sull'analisi dei comandi devono essere preceduti da un carattere di escape per garantire che vengano passati correttamente a UEMCLI. Questa operazione può essere eseguita posizionando una barra rovesciata (\) prima del carattere.
Ad esempio, se la password contiene virgolette doppie ("), le virgolette devono essere precedute da una barra rovesciata. Ciò impedisce all'interprete dei comandi di trattarla come sintassi e consente di elaborare correttamente la password.
Esempio:
Virgolette doppie precedute da una barra rovesciata; il comando riesce:
C:\Users\user>uemcli -d <IP> -u microsofttest -p Pass\"word123! /sys/general show
Storage system address: <IP>
Storage system port: 443
HTTPS connection
1: System name = Unity Array
Model = Unity 300
Platform type = EMC Storage System
Product serial number = CKM00161XXXXXX
Auto failback = on
Health state = Major failure (2)