Github avatar

GyeongSu Han's Github Pages

Linux chpasswd

Apr 24, 2016 · Server

리눅스상에서 비밀번호를 스크립트를 이용하여 변경하고 싶은 경우가 있다.

보통 redhat계열의 경우는 passwd --stdin의 옵션을 사용하여 변경하지만, ubuntu의 경우는 불가능 하여 이를 해결하기 위해 찾은 명령어다.

이 명령어는 관리자 권한을 가지고만 가능한 명령이다. 사용법은 다음과 같다.

[root@localhost ~]# chpasswd --help
Usage: chpasswd [options]

Options:
  -c, --crypt-method METHOD     the crypt method (one of NONE DES MD5 SHA256 SHA512)
  -e, --encrypted               supplied passwords are encrypted
  -h, --help                    display this help message and exit
  -m, --md5                     encrypt the clear text password using
                                the MD5 algorithm
  -R, --root CHROOT_DIR         directory to chroot into
  -s, --sha-rounds              number of SHA rounds for the SHA*
                                crypt algorithms

옵션은 암호화와 chroot_dir에 대해서 나와있다. 실제 비밀번호를 변경하는 방법은 다음과 같다.

[root@localhost ~]# chpasswd
User:Password

이와 같이 사용해 주는데, ^D(EOF)의 경우는 Ctrl + D키를 누른 것이다.

이 명령어는 한번에 여러 계정을 변경할 수 있는것이 특징이다.

이 명령은 표준 입력을 받아 처리를 하는데, 그렇기 때문에 스크립트에서 사용하기 위해서는 파이프 또는 리다이렉트를 사용하여 처리를 할 수 있다.