Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

리눅스 passwd 명령어 완벽 가이드: 사용자 암호 변경부터 계정 잠금까지

이 글에서는 리눅스 passwd 명령어를 사용해 사용자 암호를 변경하거나 계정을 비활성화하는 방법을 단계별로 설명합니다.

티켓 하나가 배정되었습니다. 겉보기엔 단순한 암호 재설정 작업인데, 문제는 대상 시스템이 리눅스 머신이라는 점입니다. 리눅스에서 암호를 재설정하려면 어떤 것들을 알아야 할까요?

먼저 기본 개념부터 짚고 넘어가겠습니다. 사용자 계정의 경우 passwd 인증 토큰(암호 해시)은 /etc/shadow 파일에 저장됩니다. 그룹 계정의 경우 이름 그대로 /etc/gshadow 파일에 저장됩니다.

passwd 명령어는 이 두 가지 모두에 대해 암호를 변경할 수 있게 해줍니다. passwd의 대표적인 용도는 다음과 같습니다.

  • 암호 재설정
  • 계정 만료(expire), 잠금(lock) 및 비활성화
  • 자기 계정 암호 재설정

이제 각 옵션을 하나씩 자세히 살펴보겠습니다.

암호 변경하기

본인 계정 암호 변경

가장 기본적인 사용법은 아래와 같습니다.

passwd

터미널에 입력하면 자기 자신의 암호를 변경하는 프롬프트가 나타납니다.

Changing password for samuelberry.
Current password:
Enter new password:
Retype new password:
passwd: password updated succesfully

절차는 매우 간단합니다. 먼저 현재 암호를 입력하라는 메시지가 표시되고, 입력한 암호의 해시 값이 shadow 파일에 저장된 해시와 비교됩니다. 이어서 새 암호가 시스템의 복잡도 요구 사항을 충족하는지 검사한 뒤 최종 반영됩니다.

다른 사용자 암호 재설정

이번에는 다른 사용자의 암호를 재설정해야 하는 상황입니다. 방법은 거의 동일하며, 프롬프트도 한 단계를 제외하면 같습니다.

sudo passwd samuelberry

sudo(root 권한)로 실행했기 때문에 현재 암호 확인 단계가 생략됩니다.

Enter new password:
Retype new password:
passwd: password updated succesfully

root 사용자로 로그인한 상태에서 자기 계정의 암호를 변경하는 것도 다른 계정을 수정하는 과정과 동일하게 진행됩니다.

참고로 pam_tally2 기록을 확인하면 잠긴 계정이 있는지 점검할 수 있고, cat 명령으로 /etc/shadow 파일을 열어 해당 계정이 잠금 또는 비활성화 상태인지 직접 확인할 수도 있습니다.

그룹 암호를 변경하는 절차 역시 동일하지만, 추가로 [-g] 플래그를 지정해야 합니다.

계정 비활성화하기

한 사용자가 자신의 계정을 비활성화해 달라고 요청했다고 가정해 보겠습니다. 30일간 출장을 떠나야 하므로, 출발 전에 계정을 안전하게 보호하고 싶어 하는 상황입니다.

passwd -le

이 명령 하나로 계정이 잠기고(-l) 만료(-e)됩니다. 실무에서는 만료 처리까지 함께 적용하는 것을 권장합니다. 만약 계정이 침해당하더라도 활동 내역을 모니터링할 수 있기 때문입니다.

사용자 부재 중에 계정 암호가 재설정되면 해당 활동에 대한 알림을 설정해둘 수 있습니다. 계정이 실제로 잠금 상태인지 확인하려면 다음 명령을 사용하세요.

passwd -S

마무리

지금까지 passwd 명령어로 사용자 암호를 변경하는 방법과 계정을 잠그고 만료시키는 방법을 살펴보았습니다. 의외로 간단하죠?

다만 시스템 복구 상황에서는 몇 가지 추가 단계가 필요합니다. 서버에서 스스로 잠겨 버렸다면 싱글 유저 모드(single-user mode)로 진입해야 할 가능성이 높습니다. LDAP 계정이나 Microsoft AD(Active Directory) 계정을 다루는 경우에는 디렉터리 서버 쪽에서 암호를 재설정해야 한다는 점도 기억해 두세요.