Problemas do Dell Unity: UEMCLI com caracteres especiais na senha de administrador
Summary: Ao usar a UEMCLI em sistemas operacionais Linux ou Microsoft, determinados caracteres especiais nas senhas podem ser interpretados pelo sistema operacional em vez de transmitidos como parte da senha. Esse comportamento é esperado e determinado pelo sistema operacional; Consulte a documentação do sistema operacional para obter orientações sobre caracteres especiais compatíveis e escape de caracteres. ...
Symptoms
UEMCLI com sistemas VNXe ou Dell Unity em sistemas operacionais Linux ou Microsoft, determinados caracteres especiais nas senhas podem ser interpretados pelo sistema operacional em vez de serem passados como parte da string de senha.
$ no 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)
$ O caractere não é interpretado de maneira diferente pelo sistema operacional. entre aspas duplas.") são tratados como caracteres especiais. Se uma senha contiver aspas duplas e não for escapada corretamente, UEMCLI pode não retornar um erro de autenticação. Em vez disso, o comando pode exibir o UEMCLI Sintaxe de ajuda em vez da saída esperada do 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
Alguns caracteres têm significado especial para o sistema operacional e podem ser interpretados como sintaxe de linha de comando em vez de como parte da senha. Como resultado, a senha passou para UEMCLI pode diferir da senha digitada pelo usuário.
Esse comportamento é esperado e não é um defeito na UEMCLI ou Unisphere. Para obter informações sobre como usar ou escapar de caracteres especiais em argumentos de linha de comando, consulte a documentação fornecida pelo fornecedor do sistema operacional.
Resolution
-securePassword em vez da opção -p ao executar comandos UEMCLI. Se o arquivo -securePassword A opção solicita a senha interativamente, impedindo que o sistema operacional interprete caracteres especiais e garantindo que a senha não seja exibida na tela ou registrada no histórico de comandos ou logs.
[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)
Se UEMCLI é usado em scripts, certifique-se de que todos os caracteres especiais nas senhas sejam adequadamente escapados de acordo com os requisitos de linha de comando do sistema operacional. Um método comum é prefixar caracteres especiais com uma barra invertida (\), o que pode ajudar a evitar que sejam interpretados pela concha.
No Linux, coloque a senha entre aspas simples e remova quaisquer caracteres especiais com uma barra invertida. Usar aspas simples por si só pode não ser suficiente para todos os caracteres especiais.
Exemplo:
Senha entre aspas simples com o caractere especial escapado; o comando é executado com sucesso:
[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)
Incluído entre aspas simples sem escape, o comando apresenta falha:
[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)
Nos sistemas operacionais Microsoft Windows, os caracteres especiais que afetam a análise de comandos devem ser ignorados para garantir que sejam passados corretamente para a UEMCLI. Isso pode ser feito colocando uma barra invertida (\) antes do personagem.
Por exemplo, se a senha contiver aspas duplas ("), as aspas devem ser escapadas com uma barra invertida. Isso impede que o interpretador de comando a trate como sintaxe e permite que a senha seja processada corretamente.
Exemplo:
As aspas duplas escaparam com uma barra invertida; o comando é bem-sucedido:
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)