Dell Unity: problemy UEMCLI ze znakami specjalnymi w haśle administratora
Summary: W przypadku korzystania z UEMCLI w systemach operacyjnych Linux lub Microsoft niektóre znaki specjalne w hasłach mogą być interpretowane przez system operacyjny, a nie przekazywane jako część hasła. Takie zachowanie jest oczekiwane i zależy od systemu operacyjnego; Instrukcje dotyczące obsługi znaków specjalnych i ucieczki znaków można znaleźć w dokumentacji systemu operacyjnego. ...
Symptoms
UEMCLI W przypadku systemów VNXe lub Dell Unity w systemach operacyjnych Linux lub Microsoft niektóre znaki specjalne w hasłach mogą być interpretowane przez system operacyjny, a nie przekazywane jako część ciągu hasła.
$ znak w systemie 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)
$ znak nie jest różnie interpretowany przez system operacyjny. Jednak podwójne cudzysłowy (") są traktowane jako znaki specjalne. Jeśli hasło zawiera podwójny cudzysłów i nie zostało poprawnie zmienione, UEMCLI może nie zwrócić błędu uwierzytelniania. Zamiast tego polecenie może wyświetlić UEMCLI help, a nie oczekiwane dane wyjściowe polecenia.
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
Niektóre znaki mają specjalne znaczenie dla systemu operacyjnego i mogą być interpretowane jako składnia wiersza poleceń, a nie jako część hasła. W rezultacie hasło przekazane do UEMCLI może różnić się od hasła wprowadzonego przez użytkownika.
Takie zachowanie jest oczekiwane i nie jest wadą w UEMCLI lub Unisphere. Aby uzyskać informacje na temat używania lub zmiany znaczenia znaków specjalnych w argumentach wiersza poleceń, zapoznaj się z dokumentacją dostarczoną przez dostawcę systemu operacyjnego.
Resolution
-securePassword zamiast opcji -p podczas uruchamiania poleceń UEMCLI. Plik -securePassword Monituje o hasło w sposób interaktywny, uniemożliwiając systemowi operacyjnemu interpretowanie znaków specjalnych i gwarantując, że hasło nie zostanie wyświetlone na ekranie ani zapisane w historii poleceń lub dziennikach.
[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 jest używany w skryptach, upewnij się, że wszelkie znaki specjalne w hasłach są prawidłowo zmienione zgodnie z wymaganiami wiersza poleceń systemu operacyjnego. Powszechną metodą jest poprzedzenie znaków specjalnych ukośnikiem odwrotnym (\), co może pomóc w zapobieżeniu ich interpretacji przez powłokę.
W systemie Linux hasło należy ująć w pojedyncze cudzysłowy i poprzedzić znaki specjalne ukośnikiem odwrotnym. Używanie pojedynczych cudzysłowów może nie wystarczyć w przypadku wszystkich znaków specjalnych.
Przykład:
Hasło ujęte w pojedynczy cudzysłów ze znakiem specjalnym zmienionym; polecenie powiedzie się:
[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)
Ujęte w pojedyncze cudzysłowy bez ucieczki, polecenie kończy się niepowodzeniem:
[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)
W systemach operacyjnych Microsoft Windows znaki specjalne, które mają wpływ na analizę składni poleceń, muszą być zmienione, aby zapewnić ich poprawne przekazanie do UEMCLI. Można to zrobić, umieszczając odwrotny ukośnik (\) przed znakiem.
Na przykład, jeśli hasło zawiera podwójny cudzysłów ("), cudzysłów powinien być poprzedzony odwrotnym ukośnikiem. Uniemożliwia to interpreterowi poleceń traktowanie go jako składni i umożliwia poprawne przetworzenie hasła.
Przykład:
Podwójny cudzysłów ze znakiem ucieczki z odwrotnym ukośnikiem; polecenie powiodło się:
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)