개발 창고/Server
[Linux] How to assign or change a password to an account
로이제로
2023. 11. 8. 22:00
반응형
How to assign or change a password to an account
계정을 관리하는 /etc/passwd에서는 계정의 비밀번호가 x로 표기되며 다른 곳에서 관리됩니다. 이 별도의 관리 파일이
/etc/shadow
입니다. shadow에서는 비밀번호뿐만 아니라, 해당 비밀번호에 대해 암호화 방식이나 가능 기간, 만료 기간등을 관리하게 됩니다.
/etc/shadow
우선 아래와 같이 shadow의 속성을 확인해보면
$> ls -alt /etc | grep shadow
해당 권한이 소유주인 root (관리자 계정)만 read / write가 가능하고, shadow그룹에서는 read만 그 외의 다른 계정에서는 읽거나 쓸 수 없음을 알 수 있습니다. 때문에 shadow를 확인하기 위해서는 아래와 같이 명령어를 실행하여 확인할 수 있습니다. 각 항목은 콜른(:)으로 구분됩니다.
$> sudo cat /etc/shadow
user1:$6$/Mo3V.nIaGw~~~~~~~~~~~~~f7GC1Mb1:19492:0:99999:7:::
필드 | 설명 |
계정 명 | 사용자의 계정을 의미합니다. |
패스워드 | $로 구분되어지며 아래와 같은 로직을 갖습니다. $algorithmId$salt$encryptedPassword $algorithmId : 암호학적 해시 ID를 의미 1: MD4(가장 취약한 일방향 해쉬로 요즘에는 거의 쓰이지 않습니다.) 2: BlowFish 5: SHA-256 6: SHA-512 $salt : 각 해시에 첨가할 랜덤 값. 이 랜덤 값에 encryptedPassword의 값이 바뀜 $encryptedPassword : 알고리즘과 salt로 패스워드를 암호화 한 값 * : 패스워드가 잠긴 상태. 로그인 불가. 별도의 인증방식을 이용하여 로그인 가능 ! : 패스워드가 잠긴 상태. 로긍니 불가. 또는 계정 생성 후 패스워드 설정하지 않은 상태 공란 : 패스워드가 설정되지 않았지만 로그인이 가능한 상태 |
마지막 변경 | 패스워드가 변경된 마지막 일자 (1970년 1월 1일 기준 경과 일 수) ex) 19492 1970년 1월 1일 기준으로 19492일 이후에 비밀번호가 변경되었음을 의미합니다. |
최소 사용일수 | 패스워드 마지막 변경일 기준으로 패스워드가 변경 불가한 최소 일 수 (0은 제한 없음) |
최대 사용일수 | 패스워드 마지막 변경일 기준으로 사용 가능한 최대 일 수 |
경고 | 패스워드 만료 이전에 경고할 경고일 수 |
비활성화 | 패스워드 만료된 후 계정이 잠기기까지 비활성 대기 일 수. 해당 비활성 기간 동안 패스워드를 변경해야 계정이 잠기지 않음 |
만료일 | 계정 만료일 (1970년 1월 1일 기준 경과 일 수) |
반응형