스크립트에서 루트의 AIX 비밀번호 확인

스크립트에서 루트의 AIX 비밀번호 확인

(AIX)의 루트 비밀번호가 정규화된 일반 텍스트 비밀번호와 일치하는지 확인하기 위해 쉘 스크립트에서 방법을 찾고 있습니다. 이 쿼리는 이 사이트의 다른 쿼리와 유사합니다. 나는 루트 액세스 권한을 갖고 있으며 필요에 따라 AC 프로그램을 컴파일할 수 있습니다. 나는 HP-UX와 Linux를 위한 표준 라이브러리를 찾고 있었습니다. 이제 저는 AIX에서 작업하고 있는데 제가 직면한 것은 몇 가지 장애물뿐입니다. 솔트와 해시를 추출할 수 있었고 일반 텍스트 비밀번호를 알고 있습니다. 소금과 비밀번호를 입력하고 비밀번호 해시를 가져와서 서버에 저장된 것과 비교할 수 있도록 하고 싶습니다.

답변1

저는 AIX에 익숙하지 않습니다. 전문적인 도구가 있을 수 있습니다. 그러나 도구를 루트로 실행해야 할 수도 있습니다.

직접 코딩하는 것보다 기존 도구를 사용하는 것이 좋습니다. 비밀번호를 전달 su하고 su성공하는지 테스트합니다. 루트로 실행 해야 합니다 su. su비밀번호는 단말기에서 읽어오기 때문에 ,예상되는그것을 통과하십시오.

영감을 받아 만든 스크립트입니다.CluelessCoder가 Stack Overflow에서 비슷한 질문을 했습니다.. 이 스크립트는 루트가 아닌 사용자로 실행해야 합니다. 그렇지 않으면 su비밀번호를 묻는 메시지가 표시되지 않습니다.

#!/bin/sh
PASSWORD=swordfish

expect << EOF
spawn su -c exit
expect "Password:"
send "$PASSWORD\r"
set wait_result  [wait]

# check if it is an OS error or a return code from our command
#   index 2 should be -1 for OS erro, 0 for command return code
if {[lindex \$wait_result 2] == 0} {
        exit [lindex \$wait_result 3]
} 
else {
        exit 1 
}
EOF
if [ $? -eq 0 ]; then
  echo "The password is correct"
else
  echo "The password is wrong"
fi

Perl이 있거나 C 프로그램을 사용하려면 다음을 참조하세요.이 비슷한 질문에 대한 대답Linux에서 비밀번호 해시를 추출하고 동일한 솔트를 사용하여 제공된 비밀번호의 해시를 계산하는 방법을 보여줍니다. 시스템이 기존 DES 체계를 사용하는 경우 해시 추출을 조정해야 할 수도 있습니다.

관련 정보