Bash에서 현재 사용자/비밀번호를 어떻게 볼 수 있나요?

Bash에서 현재 사용자/비밀번호를 어떻게 볼 수 있나요?

현재 Windows의 Ubuntu에 Bash를 설치하고 있습니다.

Bash를 설치하고 사용자를 정상적으로 설정했습니다. 모든 것이 잘 작동했지만 sudo모든 명령을 계속 수행하고 싶지는 않았습니다 . 'Wwindows의 Ubuntu에서 Bash'를 제거한 다음 다시 설치했습니다.

lxrun /install /y

사용자 이름은 저장되었지만 이전 비밀번호는 저장되지 않았습니다. 내가 사용하고 있는 사용자의 현재 비밀번호를 보려고 합니다.

Bash에서 내 사용자의 비밀번호를 어떻게 볼 수 있나요?

답변1

실제로는 불가능합니다. 귀하의 비밀번호는 해시되어 있으며 단방향으로만 디코딩됩니다.

요약하자면, 로그인을 시도할 때마다 다음과 같은 작업이 수행된다고 상상해 보세요.

if hash('password') == currentHash;
do grantAccess();

비밀번호를 저장할 때마다

hashedPass = hash('password');
writeOnShadowFile('hashedPass')

이는 해싱의 보안 표준에 따라 실제 비밀번호를 저장하지 않고 대신 함수의 결과를 저장하고 그런 식으로 평가합니다. 해싱 함수는 데이터 손실 시 원래 값을 많이 변환하기 위한 것이며, 데이터 손실로 인해 원래 비밀번호를 아는 것이 거의 불가능합니다.

usermod -p <password> <user>또는 를 사용하여 비밀번호를 쉽게 변경할 수 있습니다 passwd <user>.

답변2

OS 사용자 비밀번호가 무엇인지 확인할 수 없습니다. 비밀번호는 다음 위치에 저장됩니다.해시된형태. 당신이 아는 것이 맞는 경우에만 확인할 수 있습니다. 이는 보안 위협이 될 뿐만 아니라 비밀번호도 정기적으로 변경해야 합니다. 그리고 새 것은 이전 것과 너무 유사해서는 안됩니다. 그러나 가정 환경에서는(전문적인 환경이 아닌) 명령줄을 사용하여 이 문제를 신경쓰지 않아도 됩니다.

답변3

당신은 할 수 없습니다! 좋은 이유가 있습니다. 이는 엄청난 보안 결함이 될 것입니다. 명령 을 사용하여 비밀번호를 변경할 수 있습니다 passwd( 참조 man passwd).

루트라면 모든 사용자의 비밀번호를 변경할 수 있습니다.

관련 정보