Dell Unity: 관리자 암호의 특수 문자와 관련된 UEMCLI 문제
Summary: Linux 또는 Microsoft 운영 체제에서 UEMCLI를 사용하는 경우 암호의 특정 특수 문자가 암호의 일부로 전달되지 않고 운영 체제에 의해 해석될 수 있습니다. 이 동작은 예상된 동작이며 운영 체제에 의해 결정됩니다. 지원되는 특수 문자 및 문자 이스케이프에 대한 지침은 운영 체제 설명서를 참조하십시오.
Symptoms
UEMCLI Linux 또는 Microsoft 운영 체제 기반 VNXe 또는 Dell Unity 시스템에서는 암호의 특정 특수 문자가 암호 문자열의 일부로 전달되지 않고 운영 체제에 의해 해석될 수 있습니다.
$ 문자).
[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)
$ 문자는 운영 체제에 따라 다르게 해석되지 않습니다. 큰따옴표 안에 넣어야 합니다.")는 특수 문자로 처리됩니다. 비밀번호에 큰따옴표가 포함되어 있고 제대로 이스케이프되지 않은 경우 UEMCLI 인증 오류를 반환하지 않을 수 있습니다. 대신, 이 명령은 UEMCLI help 구문이 필요합니다.
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
일부 문자는 운영 체제에서 특별한 의미를 가지며 암호의 일부가 아닌 명령줄 구문으로 해석될 수 있습니다. 그 결과, 비밀번호가 UEMCLI 사용자가 입력한 비밀번호와 다를 수 있습니다.
이 동작은 예상된 동작이며 결함이 아닙니다. UEMCLI 또는 Unisphere를 클릭합니다. 명령줄 인수에서 특수 문자를 사용하거나 이스케이프하는 방법에 대한 자세한 내용은 운영 체제 공급업체에서 제공하는 설명서를 참조하십시오.
Resolution
-securePassword 옵션 대신 -p UEMCLI 명령을 실행할 때 선택할 수 있는 옵션입니다. OPER는 -securePassword 옵션은 대화식으로 암호를 묻는 메시지를 표시하여 운영 체제에서 특수 문자를 해석하지 못하도록 하고 암호가 화면에 표시되거나 명령 내역 또는 로그에 기록되지 않도록 합니다.
[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)
만약 UEMCLI 스크립트에 사용되는 경우 암호의 특수 문자가 운영 체제의 명령줄 요구 사항에 따라 올바르게 이스케이프되었는지 확인합니다. 일반적인 방법은 특수 문자 앞에 백슬래시(\), 셸에서 해석되는 것을 방지하는 데 도움이 될 수 있습니다.
Linux에서는 비밀번호를 작은따옴표로 묶고 특수 문자는 백슬래시로 이스케이프합니다. 모든 특수 문자에 작은따옴표를 사용하는 것만으로는 충분하지 않을 수 있습니다.
예:
특수 문자가 이스케이프된 작은따옴표로 묶인 비밀번호. 명령 성공:
[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)
이스케이프 없이 작은따옴표로 묶으면 명령이 실패합니다.
[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)
Microsoft Windows 운영 체제에서는 명령 구문 분석에 영향을 주는 특수 문자를 이스케이프하여 UEMCLI에 올바르게 전달해야 합니다. 이 작업은 백슬래시(\)을 추가합니다.
예를 들어, 비밀번호에 큰따옴표(")에서 따옴표는 백슬래시로 이스케이프 처리해야 합니다. 이렇게 하면 명령 인터프리터가 이를 구문으로 처리하지 않고 암호를 올바르게 처리할 수 있습니다.
예:
큰따옴표는 백슬래시로 이스케이프 처리됨, 명령 성공:
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)