Dell Unity: Problémy se softwarem UEMCLI se speciálními znaky v hesle správce
Summary: Při použití nástroje UEMCLI v operačních systémech Linux nebo Microsoft mohou být určité speciální znaky v heslech operačním systémem interpretovány, nikoli předávány jako součást hesla. Toto chování je očekávané a je určeno operačním systémem. Pokyny k podporovaným speciálním znakům a escapování znaků naleznete v dokumentaci k operačnímu systému. ...
Symptoms
UEMCLI v systémech VNXe nebo Dell Unity v operačních systémech Linux nebo Microsoft mohou být určité speciální znaky v heslech interpretovány operačním systémem namísto předávání jako součást řetězce hesla.
$ znak v Linuxu).
[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)
$ Operační systém neinterpretuje odlišně. Dvojité uvozovky (") jsou považovány za speciální znaky. Pokud heslo obsahuje dvojité uvozovky a není správně uvozeno, UEMCLI nemusí vrátit chybu ověřování. Místo toho může příkaz zobrazit UEMCLI syntaxe nápovědy místo očekávaného výstupu příkazu.
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
Některé znaky mají pro operační systém zvláštní význam a mohou být interpretovány jako syntaxe příkazového řádku, nikoli jako součást hesla. V důsledku toho bude heslo předáno uživateli UEMCLI se může lišit od hesla zadaného uživatelem.
Toto chování je očekávané a nejedná se o závadu UEMCLI nebo Unisphere. Informace o použití nebo uvození speciálních znaků v argumentech příkazového řádku naleznete v dokumentaci poskytnuté dodavatelem operačního systému.
Resolution
-securePassword namísto -p při spuštění příkazů UEMCLI. Kód -securePassword Tato možnost interaktivně vyzve k zadání hesla, zabrání operačnímu systému v interpretaci speciálních znaků a zajistí, že heslo nebude zobrazeno na obrazovce nebo zaznamenáno v historii příkazů či protokolech.
[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)
Je-li UEMCLI , ujistěte se, že všechny speciální znaky v heslech jsou správně uvozeny řídicími znaky podle požadavků operačního systému na příkazovém řádku. Obvyklou metodou je přidání předpony speciálních znaků zpětným lomítkem (\), což může pomoci zabránit jejich interpretaci prostředím.
V Linuxu uzavřete heslo do jednoduchých uvozovek a všechny speciální znaky uvozte zpětným lomítkem. Použití jednoduchých uvozovek nemusí stačit pro všechny speciální znaky.
Příklad:
Heslo je uzavřeno do jednoduchých uvozovek se speciálním znakem uvozeným řídicím znakem; příkaz proběhne úspěšně:
[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)
Příkaz je uzavřen do jednoduchých uvozovek bez řídicího znaku:
[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)
V operačních systémech Microsoft Windows musí být speciální znaky, které mají vliv na analýzu příkazů, uvozeny řídicími znaky, aby bylo zajištěno jejich správné předání do rozhraní UEMCLI. To lze provést umístěním zpětného lomítka (\) před znakem.
Pokud například heslo obsahuje dvojité uvozovky (") by měly být uvozovky uvozeny zpětným lomítkem. To zabrání interpretu příkazů, aby s ním zacházel jako se syntaxí, a umožní správné zpracování hesla.
Příklad:
Dvojité uvozovky uvozeny se zpětným lomítkem; příkaz je úspěšný:
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)