Dell Unity: UEMCLI-Probleme mit Sonderzeichen im Administratorkennwort
Summary: Bei der Verwendung von UEMCLI auf Linux- oder Microsoft-Betriebssystemen werden bestimmte Sonderzeichen in Kennwörtern möglicherweise vom Betriebssystem interpretiert und nicht als Teil des Kennworts übergeben. Dieses Verhalten ist zu erwarten und wird vom Betriebssystem bestimmt. In der Dokumentation des Betriebssystems finden Sie Informationen zu unterstützten Sonderzeichen und zum Escapen von Zeichen. ...
Symptoms
UEMCLI Bei VNXe- oder Dell Unity-Systemen auf Linux- oder Microsoft-Betriebssystemen werden bestimmte Sonderzeichen in Kennwörtern möglicherweise vom Betriebssystem interpretiert, anstatt als Teil der Kennwortzeichenfolge übergeben zu werden.
$ -Zeichen unter 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)
$ Das Zeichen wird vom Betriebssystem nicht anders interpretiert. in doppelte Anführungszeichen einschließen.") werden als Sonderzeichen behandelt. Wenn ein Kennwort ein doppeltes Anführungszeichen enthält und nicht ordnungsgemäß maskiert wird, UEMCLI Gibt möglicherweise keinen Authentifizierungsfehler zurück. Stattdessen kann der Befehl die UEMCLI Hilfesyntax anstelle der erwarteten Befehlsausgabe.
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
Einige Zeichen haben eine besondere Bedeutung für das Betriebssystem und können als Befehlszeilensyntax und nicht als Teil des Kennworts interpretiert werden. Daher wird das Kennwort an UEMCLI Kann von dem vom Nutzer eingegebenen Kennwort abweichen.
Dieses Verhalten ist zu erwarten und kein Fehler in UEMCLI oder Unisphere. Informationen zur Verwendung bzw. zum Escapen von Sonderzeichen in Befehlszeilenargumenten finden Sie in der Dokumentation des Betriebssystemanbieters.
Resolution
-securePassword Option anstelle der Option -p -Option beim Ausführen von UEMCLI-Befehlen. Die Tasten -securePassword Die Option fordert Sie interaktiv zur Kennworteingabe auf, um zu verhindern, dass das Betriebssystem Sonderzeichen interpretiert, und stellt sicher, dass das Kennwort nicht auf dem Bildschirm angezeigt oder im Befehlsverlauf oder in Protokollen aufgezeichnet wird.
[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)
Wenn die UEMCLI in Skripten verwendet wird, stellen Sie sicher, dass alle Sonderzeichen in Kennwörtern gemäß den Befehlszeilenanforderungen des Betriebssystems ordnungsgemäß maskiert werden. Eine gängige Methode besteht darin, Sonderzeichen einen umgekehrten Schrägstrich (\), was verhindern kann, dass sie von der Shell interpretiert werden.
Schließen Sie das Kennwort unter Linux in einfache Anführungszeichen ein und setzen Sie alle Sonderzeichen mit einem umgekehrten Schrägstrich. Die Verwendung einzelner Anführungszeichen allein reicht möglicherweise nicht für alle Sonderzeichen aus.
Beispiel:
Kennwort, das in einfache Anführungszeichen eingeschlossen ist, wobei das Sonderzeichen escapet wird. Befehl erfolgreich:
[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)
Der Befehl wird in einfache Anführungszeichen ohne Escapezeichen eingeschlossen und schlägt fehl:
[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)
Auf Microsoft Windows-Betriebssystemen müssen Sonderzeichen, die sich auf die Befehlsanalyse auswirken, maskiert werden, um sicherzustellen, dass sie korrekt an die UEMCLI übergeben werden. Dies kann durch Platzieren eines Backslash (\) vor dem Zeichen.
Wenn das Kennwort beispielsweise ein doppeltes Anführungszeichen ("), sollte das Anführungszeichen mit einem umgekehrten Schrägstrich versehen werden. Dies verhindert, dass der Befehlsinterpreter dies als Syntax behandelt, und ermöglicht die korrekte Verarbeitung des Kennworts.
Beispiel:
Doppeltes Anführungszeichen mit Backslash versehen; Befehl erfolgreich:
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)