/ etc / passwd 및 / etc / shadow에서 비밀번호를 암호화하는 데 어떤 방법이 사용됩니까?


19

/etc/passwd/etc/shadow파일을 주의 깊게 조사하면 저장된 비밀번호가 해싱 기능의 일부 형식을 사용하여 해시되는 것으로 나타났습니다.

빠른 Google 검색은 기본적으로 비밀번호가 DES를 사용하여 암호화되었음을 나타냅니다 . 항목이로 시작하면 $다른 해싱 함수가 사용되었음을 나타냅니다.

예를 들어, 우분투 컴퓨터의 일부 항목은 $6$...

다양한 숫자는 무엇을 나타 냅니까?

답변:


28

전체 목록은 man 3 crypt( web version )에 있습니다.

          ID  | Method
          -------------------------------------------------
          1   | MD5
          2a  | Blowfish (on some Linux distributions)
          5   | SHA-256 (since glibc 2.7)
          6   | SHA-512 (since glibc 2.7)

(복어는 Wikipedia Crypt (Unix) 에 따라 $2$또는 가능할 수 있습니다 .)$2a$

따라서 $6$의미 SHA-512합니다.

시스템이 사용하는 것은 pam_unix PAM 모듈에 전달 된 옵션에 의해 결정됩니다 .

최신 버전의 Ubuntu의 기본값은 다음과 /etc/pam.d/common-password같습니다.

password        [success=1 default=ignore]      pam_unix.so obscure sha512

즉, 다음에 비밀번호를 변경하면 계정이 NIS / LDAP / Kerberos가 아닌 로컬 인 경우 SHA-512를 사용하여 비밀번호가 해시됩니다.

또한보십시오:


내 빠른 /etc/shadow재확인은로 시작하는 2 개의 항목을 보여줍니다 $6$.
Nathan Osman 2019

SHA-256 및 SHA-512는 SHA-2 해시 함수 세트의 일부입니다.
mattdm

4
SHA-2를 기반으로하는 암호 해시는 일반 SHA-2가 아니며 일반 SHA-2가 사전 공격에 약하기 때문에 나빠질 수 있습니다. SHA-2 암호 체계는 일반 해시를 빌딩 블록으로 사용하지만 사전 작업 속도를 늦추기 위해 가변 작업 요소와 소금을 추가합니다.
코드 InChaos

내 우분투 컴퓨터에서 루트 암호에는 느낌표 기호 ( !)가 있습니다. 을 읽으면 man shadow암호가 잠겨 있음을 의미하므로 유닉스 암호를 사용하여 직접 로그인 할 수 없습니다. 우분투는 기본적으로 루트 계정을 비활성화로 설정해야합니다.
Akronix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.