SW/리눅스

Linux : /etc/shadow 파일 이해 방법, 예제, 명령어

얇은생각 2022. 5. 29. 07:30
반응형

Linux 시스템에서 사용할 수 있는 여러 인증 체계가 있습니다. 가장 일반적으로 사용되는 표준 구성은 /etc/passwd 및 /etc/shadow 파일에 대해 인증을 수행하는 것입니다.

/etc/complete는 시스템 사용자의 암호에 대한 정보가 들어 있는 텍스트 파일입니다. 사용자 루트 및 그룹 섀도 소유이며 640개의 권한이 있습니다.

 

 

Linux : /etc/shadow 파일 이해 방법, 예제, 명령어

 

 

/etc/shadow 형식

/etc/shadow 파일에는 한 줄에 하나의 항목이 있으며, 각 항목은 사용자 계정을 나타냅니다. 텍스트 편집기 또는 cat과 같은 명령을 사용하여 파일 내용을 볼 수 있습니다.

sudo cat /etc/shadow

 

 

일반적으로 첫 번째 행은 루트 사용자를 설명한 다음 시스템 및 일반 사용자 계정을 설명합니다. 파일 끝에 새 항목이 추가됩니다.

/etc/shadow 파일의 각 행에는 쉼표로 구분된 9개의 필드가 있습니다.

mark:$6$.n.:17736:0:99999:7:::
[--] [----] [---] - [---] ----
|      |      |   |   |   |||+-----------> 9. Unused
|      |      |   |   |   ||+------------> 8. Expiration date
|      |      |   |   |   |+-------------> 7. Inactivity period
|      |      |   |   |   +--------------> 6. Warning period
|      |      |   |   +------------------> 5. Maximum password age
|      |      |   +----------------------> 4. Minimum password age
|      |      +--------------------------> 3. Last password change
|      +---------------------------------> 2. Encrypted Password
+----------------------------------------> 1. Username

 

 

사용자 이름 시스템에 로그인할 때 입력하는 문자열입니다. 시스템에 있는 사용자 계정입니다.

암호화된 암호입니다. 암호가 $type$salt$ 해시 형식을 사용하고 있습니다. $type은 메서드 암호화 해시 알고리즘이며 다음 값을 가질 수 있습니다.

$1$ – MD5

$2a$ – Blowfish

$2y$ – Eksblowfish

$5$ – SHA-256

$6$ – SHA-512

 

암호 필드에 별표(*) 또는 느낌표(!)가 있는 경우, 사용자는 암호 인증을 사용하여 시스템에 로그인할 수 없습니다. 키 기반 인증이나 사용자 전환과 같은 다른 로그인 방법은 여전히 허용됩니다.

이전 Linux 시스템에서는 사용자의 암호화된 암호가 /etc/passwd 파일에 저장되었습니다.

마지막 암호 변경입니다. 암호가 마지막으로 변경된 날짜입니다. 일 수는 1970년 1월 1일(에포치 날짜) 이후 계산됩니다.

 최소 암호 사용 기간입니다. 사용자 암호를 변경하기 전까지 경과해야 하는 일 수입니다. 일반적으로 이 값은 0으로 설정되며, 이는 최소 암호 사용 기간이 없음을 의미합니다.

최대 암호 사용 기간입니다. 사용자 암호를 변경해야 하는 일 수입니다. 기본적으로 이 숫자는 9999로 설정됩니다.

경고 기간입니다. 비밀번호가 만료되기 전 사용자에게 비밀번호를 변경해야 한다는 경고가 표시되는 일 수입니다.

비활동 기간입니다. 사용자 암호가 만료되고 나서 사용자 계정을 사용할 수 없게 되는 일 수입니다. 일반적으로 이 필드는 비어 있습니다.

만료 날짜입니다. 계정이 비활성화된 날짜입니다. 이 날짜는 신기원 날짜로 표시됩니다.

사용되지 않습니다. 이 필드는 무시됩니다. 나중에 사용할 수 있도록 예약되어 있습니다.

 

/etc/shadow 파일은  무엇을 하고 있는지 모르는 채로 편집해서는 안 됩니다. 항상 목적에 맞게 설계된 명령을 사용하십시오. 예를 들어 사용자 암호를 변경하려면 passwd 명령을 사용하고 암호 사용 기간 정보를 변경하려면 chage 명령을 사용합니다.

 

 

 

예시 항목

다음 예를 살펴보겠습니다.

jjeongil:$6$zHvrJMa5Y690smbQ$z5zdL...:18009:0:120:7:14::

 

 

위의 항목에는 사용자 "jjeongil" 암호에 대한 정보가 포함되어 있습니다.

암호는 SHA-512로 암호화됩니다(가독성을 높이기 위해 암호가 잘립니다).

암호는 2019년 4월 23일 - 18009년에 마지막으로 변경되었습니다.

최소 암호 사용 기간이 없습니다.

암호는 적어도 120일마다 변경해야 합니다.

사용자는 암호 만료일 7일 전에 경고 메시지를 받게 됩니다.

암호 만료 14일 후에도 사용자가 시스템에 로그인을 시도하지 않으면 계정이 비활성화됩니다.

계정 만료 날짜가 없습니다.

 

/etc/shadow 파일은 암호화된 사용자의 암호 및 기타 암호 관련 정보에 대한 기록을 보관합니다. 

반응형