Dell Unity: Problemas de UEMCLI con caracteres especiales en la contraseña de administrador
Summary: Cuando se utiliza UEMCLI en los sistemas operativos Linux o Microsoft, es posible que el sistema operativo interprete ciertos caracteres especiales en las contraseñas, en lugar de pasarlos como parte de la contraseña. Este comportamiento es esperado y está determinado por el sistema operativo; Consulte la documentación del sistema operativo para obtener orientación sobre los caracteres especiales compatibles y el escape de caracteres. ...
Symptoms
UEMCLI con los sistemas VNXe o Dell Unity en los sistemas operativos Linux o Microsoft, ciertos caracteres especiales en las contraseñas pueden ser interpretados por el sistema operativo en lugar de pasarse como parte de la cadena de contraseñas.
$ en 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)
$ El sistema operativo no interpreta el carácter de manera diferente. entre comillas dobles.") se tratan como caracteres especiales. Si una contraseña contiene una comilla doble y no se escapa correctamente, UEMCLI Es posible que no se muestre un error de autenticación. En su lugar, el comando puede mostrar el UEMCLI help, en lugar de la salida esperada del comando.
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
Algunos caracteres tienen un significado especial para el sistema operativo y se pueden interpretar como sintaxis de línea de comandos en lugar de como parte de la contraseña. Como resultado, la contraseña que se pasó a UEMCLI puede diferir de la contraseña introducida por el usuario.
Este comportamiento es el esperado y no es un defecto en UEMCLI o Unisphere. Para obtener información sobre cómo usar o escapar caracteres especiales en argumentos de línea de comandos, consulte la documentación proporcionada por el proveedor del sistema operativo.
Resolution
-securePassword en lugar de la opción -p cuando se ejecutan comandos de UEMCLI. El archivo -securePassword Opción solicita la contraseña de manera interactiva, lo que impide que el sistema operativo interprete caracteres especiales y garantiza que la contraseña no se muestre en la pantalla ni se registre en el historial de comandos o los registros.
[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 se utiliza en scripts, asegúrese de que los caracteres especiales en las contraseñas se escapen correctamente de acuerdo con los requisitos de la línea de comandos del sistema operativo. Un método común es agregar como prefijo una barra invertida a los caracteres especiales (\), lo que puede ayudar a evitar que sean interpretados por el shell.
En Linux, encierre la contraseña entre comillas simples y escape cualquier carácter especial con una barra invertida. Es posible que el uso de comillas simples por sí solo no sea suficiente para todos los caracteres especiales.
Ejemplo:
Contraseña entre comillas simples con el carácter especial con escape; el comando se ejecuta correctamente:
[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)
Encerrado entre comillas simples sin escape, el comando falla:
[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)
En los sistemas operativos Microsoft Windows, los caracteres especiales que afectan el análisis de comandos se deben escapar para asegurarse de que se pasen correctamente a UEMCLI. Esto se puede hacer colocando una barra invertida (\) antes del carácter.
Por ejemplo, si la contraseña contiene comillas dobles ("), las comillas deben escaparse con una barra invertida. Esto evita que el intérprete de comandos lo trate como sintaxis y permite que la contraseña se procese correctamente.
Ejemplo:
Las comillas dobles se escaparon con una barra invertida; el comando se ejecuta correctamente:
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)