--- title: passwd — 비밀번호 관리 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 계정 비밀번호를 변경·만료시키는 명령어. 서비스 계정 잠금에도 씁니다. tags: 프로그램, 사용자 및 보안 관리, passwd --- **💬 "passwd 명령어"** passwd는 **비밀번호를 변경**하거나 잠급니다. 서비스 계정은 로그인 자체를 막아 관리합니다. 만료(-e)를 쓰면 다음 로그인 시 변경을 강제합니다. - **개념**: 계정 비밀번호를 설정/변경/잠금합니다. - **본인 실행**: 자기 비밀번호를 바꿉니다. - **root 실행**: 다른 계정 비밀번호를 바꿉니다. - **상태(-S)**: 비밀번호 잠금 여부와 만료 정보를 봅니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | -S <사용자> | 비밀번호 상태 확인 | | -l / -u | 계정 비밀번호 잠금/해제 | | -e | 다음 로그인 시 변경을 강제 | | -d | 비밀번호 삭제(로그인 불가 상태로) | ## 필수 명령어 조합 3가지 - `passwd -S myapp` — 계정 잠금 상태 확인 - `passwd -l myapp` — 서비스 계정 잠금 - `passwd -e deploy` — 배포 계정에 다음 로그인 시 변경 강제 **💬 "개발 서버에서 미리 검증하는 방식 알려줘"** 실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다. ### 1단계 · 상태 확인 잠금 여부와 마지막 변경일을 봅니다. ``` passwd -S deploy ``` ### 2단계 · 변경/잠금 용도에 맞게 비밀번호를 바꾸거나 잠급니다. ``` passwd -l myapp ``` ### 3단계 · 검증 상태를 다시 확인합니다. ``` passwd -S myapp ``` ## 실무에서는 이렇게 씁니다 ### 1. 서비스 계정 잠금 **상황** — 서비스 계정에 로그인 통로를 없애야 합니다. ``` passwd -l myapp && passwd -S myapp ``` **결과** — 상태가 L(locked)로 표시되어 로그인이 차단됩니다. **포인트** — 셸을 nologin으로 둔 것과 함께 이중으로 막습니다. ### 2. 초기 비밀번호 강제 변경 **상황** — 신규 입사자에게 임시 비밀번호를 주고 변경을 강제합니다. ``` passwd deploy && passwd -e deploy ``` **결과** — 임시 비밀번호로 로그인하면 즉시 변경 화면이 뜹니다. **포인트** — 임시 비밀번호는 안전한 경로로 전달하고 변경을 반드시 유도합니다. ## 주의할 점 - 비밀번호는 명령줄에 직접 넣지 않습니다(히스토리 노출). - 서비스 계정은 키 인증만 쓰고 비밀번호 로그인을 막습니다. - -d는 비밀번호를 삭제해 로그인을 막지만 설정에 따라 위험할 수 있습니다. ## 실제 실행 화면 비밀번호 상태를 확인하고 서비스 계정을 잠근 결과입니다. ![passwd 명령어 실행 결과: 비밀번호 상태와 잠금](https://games.cursorai.co.kr/assets/passwd-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/security/passwd.html