> 패키지 및 시스템 관리 > chpasswd

chpasswd: 사용자 비밀번호 일괄 변경

chpasswd 명령어는 여러 사용자 계정의 비밀번호를 일괄적으로 업데이트하는 데 사용됩니다. 주로 스크립트나 자동화된 환경에서 대량의 비밀번호를 설정하거나 변경할 때 유용합니다. 입력은 '사용자명:비밀번호' 형식으로 이루어집니다.

개요

chpasswd는 표준 입력 또는 파일에서 '사용자명:비밀번호' 형식의 데이터를 읽어들여 해당 사용자들의 비밀번호를 업데이트합니다. 이 명령어는 일반적으로 루트 권한으로 실행되어야 하며, 대규모 사용자 환경에서 비밀번호 관리를 자동화하는 데 필수적입니다.

주요 특징

  • 비밀번호 일괄 변경 기능
  • 스크립트 및 자동화에 적합
  • 표준 입력 또는 파일에서 데이터 읽기
  • 루트 권한 필요

주요 옵션

chpasswd 명령어는 비밀번호 처리 방식과 관련된 몇 가지 중요한 옵션을 제공합니다.

비밀번호 처리

생성된 명령어:

명령어를 조합해 보세요.

설명:

`chpasswd` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

chpasswd 명령어를 활용한 다양한 비밀번호 변경 시나리오입니다.

단일 사용자 비밀번호 변경

echo 'testuser:newpassword123' | sudo chpasswd

echo 명령어를 파이프(|)로 연결하여 단일 사용자의 비밀번호를 변경합니다. 이 방법은 스크립트에서 유용합니다.

파일에서 여러 사용자 비밀번호 변경

cat users.txt
# users.txt 내용:
# user1:pass123
# user2:pass456
sudo chpasswd < users.txt

users.txt 파일에 '사용자명:비밀번호' 형식으로 여러 줄을 작성한 후, chpasswd에 입력으로 제공하여 일괄 변경합니다.

이미 암호화된 비밀번호 사용

echo 'user3:$6$rounds=5000$saltsalt$hashedpasswordexample' | sudo chpasswd -e

비밀번호가 이미 암호화된(해시된) 형태일 경우, -e (또는 --encrypted) 옵션을 사용하여 chpasswd가 다시 암호화하지 않도록 합니다. 이 경우, 비밀번호는 /etc/shadow 파일의 형식과 일치해야 합니다.

특정 암호화 방식으로 비밀번호 변경

echo 'user4:securepass' | sudo chpasswd --crypt-method SHA512

일반 텍스트 비밀번호를 특정 암호화 방식(예: SHA512)으로 해시하여 변경합니다. 이 경우 -e 옵션은 사용하지 않습니다.

팁 & 주의사항

chpasswd 명령어를 안전하고 효율적으로 사용하기 위한 팁과 주의사항입니다.

보안 고려사항

비밀번호는 민감한 정보이므로, 다음 사항에 유의해야 합니다.

  • **루트 권한**: chpasswd는 시스템의 비밀번호를 변경하므로 반드시 루트 권한으로 실행해야 합니다.
  • **히스토리 방지**: `echo 'user:pass' | sudo chpasswd`와 같이 직접 비밀번호를 입력할 경우, 셸 히스토리에 남을 수 있습니다. `unset HISTFILE` 또는 `history -c` 등으로 히스토리를 지우거나, 파일에서 읽는 방식을 권장합니다.
  • **파일 권한**: 비밀번호가 포함된 파일은 반드시 소유자(root)만 읽을 수 있도록 권한을 설정해야 합니다 (예: `chmod 600 users.txt`).
  • **임시 파일 사용**: 스크립트에서 임시 파일을 생성하여 비밀번호를 전달할 경우, 작업 완료 후 반드시 파일을 안전하게 삭제해야 합니다.

입력 형식

chpasswd는 '사용자명:비밀번호' 형식만 인식합니다. 다른 형식은 오류를 발생시킬 수 있습니다.

  • 각 줄은 하나의 사용자:비밀번호 쌍이어야 합니다.
  • 콜론(:)으로 사용자명과 비밀번호를 구분합니다.

암호화 방식

기본적으로 chpasswd는 시스템의 기본 암호화 방식을 사용합니다. `--crypt-method` 옵션을 사용하여 특정 방식을 강제할 수 있지만, 이는 시스템의 보안 정책과 일치하는지 확인해야 합니다.



동일 카테고리 명령어