Dell Unity : problèmes liés aux caractères spéciaux dans le mot de passe admin
Summary: Lors de l’utilisation d’UEMCLI sur les systèmes d’exploitation Linux ou Microsoft, certains caractères spéciaux dans les mots de passe peuvent être interprétés par le système d’exploitation plutôt que d’être transmis dans le cadre du mot de passe. Ce comportement est normal et déterminé par le système d’exploitation. Reportez-vous à la documentation du système d’exploitation pour obtenir des conseils sur les caractères spéciaux pris en charge et les caractères d’échappement pris en charge. ...
Symptoms
UEMCLI Avec les systèmes VNXe ou Dell Unity sur les systèmes d’exploitation Linux ou Microsoft, certains caractères spéciaux des mots de passe peuvent être interprétés par le système d’exploitation au lieu d’être transmis dans le cadre de la chaîne de mots de passe.
$ sous 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)
$ n’est pas interprété différemment par le système d’exploitation. entre guillemets.") sont traités comme des caractères spéciaux. Si un mot de passe contient un guillemet double et qu’il n’est pas correctement échappé, UEMCLI Peut ne pas renvoyer d’erreur d’authentification. Au lieu de cela, la commande peut afficher l’attribut UEMCLI help plutôt que la sortie de commande attendue.
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
Certains caractères ont une signification particulière pour le système d’exploitation et peuvent être interprétés comme une syntaxe de ligne de commande plutôt que comme faisant partie du mot de passe. Par conséquent, le mot de passe a été transmis à UEMCLI peut différer du mot de passe saisi par l’utilisateur.
Ce comportement est normal et n’est pas un défaut dans UEMCLI ou Unisphere. Pour plus d’informations sur l’utilisation ou l’échappement des caractères spéciaux dans les arguments de ligne de commande, reportez-vous à la documentation fournie par le fournisseur du système d’exploitation.
Resolution
-securePassword au lieu de l’option -p lors de l’exécution des commandes UEMCLI. Les touches -securePassword invite à saisir le mot de passe de manière interactive, ce qui empêche le système d’exploitation d’interpréter les caractères spéciaux et garantit que le mot de passe n’est pas affiché à l’écran ou enregistré dans l’historique des commandes ou les journaux.
[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)
Si UEMCLI est utilisé dans les scripts, assurez-vous que tous les caractères spéciaux des mots de passe sont correctement échappés conformément aux exigences de la ligne de commande du système d’exploitation. Une méthode courante consiste à préfixer les caractères spéciaux par une barre oblique inverse (\), ce qui peut les empêcher d’être interprétés par l’interpréteur de commandes.
Sous Linux, placez le mot de passe entre guillemets simples et échappez les caractères spéciaux avec une barre oblique inverse. L’utilisation de guillemets simples seuls peut ne pas être suffisante pour tous les caractères spéciaux.
Exemple :
Mot de passe placé entre guillemets simples avec le caractère spécial échappé ; la commande réussit :
[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)
Placé entre guillemets simples sans échappement, la commande échoue :
[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)
Sur les systèmes d’exploitation Microsoft Windows, les caractères spéciaux qui affectent l’analyse des commandes doivent être échappés pour s’assurer qu’ils sont correctement transmis à UEMCLI. Pour ce faire, vous pouvez placer une barre oblique inverse (\) avant le caractère.
Par exemple, si le mot de passe contient un guillemet double ("), les guillemets doivent être échappés par une barre oblique inverse. Cela empêche l’interpréteur de commandes de le traiter comme de la syntaxe et permet de traiter correctement le mot de passe.
Exemple :
Guillemet double avec une barre oblique inverse ; la commande réussit :
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)