리눅스 명령어 · 2 min read · Dec 23, 2025

리눅스 chpasswd 명령어 초보자 튜토리얼 (5가지 예제)

여기 HowtoForge에서는 리눅스 시스템에서 계정 비밀번호를 변경할 수 있는 passwd 명령어에 대해 이미 논의했습니다. 하지만 여러 사용자의 비밀번호를 한 번에 변경하고 싶다면 어떻게 해야 할까요? 이를 가능하게 해주는 명령어가 있습니다 - chpasswd - 이 명령어를 사용하면 됩니다.

이 튜토리얼에서는 이해하기 쉬운 몇 가지 예제를 통해 이 도구의 기본 사항에 대해 논의할 것입니다. 하지만 그 전에, 여기의 모든 예제가 Ubuntu 18.04 LTS 머신에서 테스트되었다는 점을 언급할 가치가 있습니다.

리눅스 chpasswd 명령어

리눅스의 chpasswd 명령어는 비밀번호를 일괄적으로 업데이트할 수 있게 해줍니다. 다음은 그 구문입니다:

chpasswd [options]

그리고 이 도구의 매뉴얼 페이지에서 다음과 같이 설명하고 있습니다:

 chpasswd 명령어는 표준 입력에서 사용자 이름과 비밀번호 쌍의 목록을 읽고 이 정보를 사용하여 기존 사용자 그룹을 업데이트합니다. 각 줄은 다음 형식입니다:
  
 user_name:password  
  
 기본적으로 비밀번호는 일반 텍스트로 제공되어야 하며, chpasswd에 의해 암호화됩니다. 또한 비밀번호의 유효 기간도 업데이트됩니다, 만약 존재한다면.

다음은 chpasswd가 어떻게 작동하는지에 대한 좋은 아이디어를 제공하는 Q&A 스타일의 몇 가지 예제입니다.

Q1. chpasswd 명령어를 어떻게 사용하나요?

기본 사용법은 위의 소개 섹션에서 설명한 대로 매우 간단합니다. 옵션 없이 루트 권한으로 chpasswd 명령어를 실행하고 ‘username:password’ 형식으로 새 비밀번호를 입력하면 됩니다.

예를 들어, 나는 다음 명령어를 실행했습니다:

$ chpasswd

그리고 다음 입력을 제공했습니다:

himanshu:thisismynewpassword789
test:latestpassword123

참고1: chpasswd는 stdin에서 입력을 받기 때문에, 사용자 이름과 새 비밀번호 입력을 마친 후에는 Ctrl+D를 누르는 것을 잊지 마세요.

참고2: 여기에서 사용된 비밀번호는 데모 목적으로만 사용되며, 어떤 방식으로든 사용하지 마세요.

Q2. chpasswd가 파일에서 정보를 읽도록 하려면 어떻게 하나요?

때때로 도구가 파일에서 입력 정보를 읽도록 하고 싶을 수 있습니다 (stdin 대신). 이는 다음과 같은 방법으로 할 수 있습니다:

cat [FILENAME] | chpasswd

예를 들어:

cat newpass.txt | chpasswd

입력 형식은 동일하게 유지됩니다: ‘username:password’, 단지 이제 파일에 작성되어 있습니다.

Q3. chpasswd는 암호화를 어떻게 처리하나요?

도구의 매뉴얼 페이지에서 다음과 같이 설명합니다:

 기본적으로 비밀번호는 PAM에 의해 암호화되지만 (권장되지는 않지만) -e, -m 또는 -c 옵션을 사용하여 다른 암호화 방법을 선택할 수 있습니다.  
  
 PAM을 사용하여 비밀번호를 암호화하지 않는 경우, chpasswd는 먼저 메모리에서 모든 비밀번호를 업데이트한 다음, 사용자에게 오류가 발생하지 않은 경우 모든 변경 사항을 디스크에 커밋합니다.  
  
 PAM을 사용하여 비밀번호를 암호화하는 경우 (그리고 시스템 데이터베이스에서 비밀번호를 업데이트하는 경우) 비밀번호를 업데이트할 수 없는 경우 chpasswd는 다음 사용자의 비밀번호 업데이트를 계속하며 종료 시 오류 코드를 반환합니다.  
  
 이 명령어는 많은 계정이 한 번에 생성되는 대규모 시스템 환경에서 사용되도록 설계되었습니다.

Q4. 다른 암호화 방법을 활성화하려면 어떻게 하나요?

이는 -c 명령줄 옵션을 사용하여 수행할 수 있습니다. 기본적으로, 여러분이 지금까지 알고 있듯이, PAM이 암호화 방법으로 사용됩니다. 그러나 -c를 사용하면 다음 중 하나를 지정할 수 있습니다: DES, MD5, NONE, SHA256 또는 SHA512 (선택한 방법을 지원하는 libc가 필요합니다).

예를 들어:

chpasswd -c DES

Q5. chpasswd에 암호화된 입력을 알리려면 어떻게 하나요?

원하는 경우, 입력에 암호화된 비밀번호를 제공할 수도 있습니다. 하지만 이를 위해서는 chpasswd가 이를 인식할 수 있도록 -e 옵션을 사용해야 합니다.

chpasswd -e

결론

chpasswd 명령어는 일반적으로 시스템 관리자나 리눅스 PC 또는 네트워크에서 사용자 관리를 맡은 사람들에 의해 사용되지만, 일반 사용자라도 이에 대해 배우는 것은 해롭지 않습니다. 여기에서는 이 도구의 여러 주요 명령줄 옵션에 대해 논의했습니다. 더 배우고 싶다면 매뉴얼 페이지를 참조하세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.