리눅스 chpasswd 패스워드 변경
2013. 12. 3. 00:23 |
리눅스
그동안 리눅스 서버는 Redhat 계열만 운영해 왔고, passwd 커맨드에 --stdin 옵션이 있었기 때문에 root 패스워드 대량 변경이나 자동화 스크립트 구현에 아무런 불편함이 없었다.
예제) echo 'new password' | passwd --stdin root
하지만 이번에 우분투(Debian 계열) 서버를 만져보면서 passwd 커맨드에 --stdin 옵션이 없다는 사실을 알고 나서는 매우 당혹스러웠다. 그런데 댓글로 chpasswd 커맨드를 알려주신 분이 계셔서 다시금 희망을 찾게 되었다.
chpasswd 커맨드는 Standard Input을 패스워드로 입력받을 수 있기 때문에 보안상 취약할 수도 있지만, 사실 root 권한을 가진 서버관리자 입장에서는 매우 편리하다.
다음은 Standard Input을 활용한 몇가지 예제이다. '계정:새로운패스워드' 형식으로 입력하면 된다.
root, snoopy, test01 사용자의 패스워드를 1234로 변경해 보겠다.
입력 종료는 Ctrl + D 누르면 된다.
가독성은 좋지 않으나 echo에 -e 옵션을 주고 \n으로 개행 처리하여 한 줄로 할 수도 있다.
미리 패스워드를 텍스트 파일에 적어놓고
password.txt
아래와 같이 처리하면 되겠다.
또는
예제) echo 'new password' | passwd --stdin root
하지만 이번에 우분투(Debian 계열) 서버를 만져보면서 passwd 커맨드에 --stdin 옵션이 없다는 사실을 알고 나서는 매우 당혹스러웠다. 그런데 댓글로 chpasswd 커맨드를 알려주신 분이 계셔서 다시금 희망을 찾게 되었다.
chpasswd 커맨드는 Standard Input을 패스워드로 입력받을 수 있기 때문에 보안상 취약할 수도 있지만, 사실 root 권한을 가진 서버관리자 입장에서는 매우 편리하다.
다음은 Standard Input을 활용한 몇가지 예제이다. '계정:새로운패스워드' 형식으로 입력하면 된다.
root, snoopy, test01 사용자의 패스워드를 1234로 변경해 보겠다.
1. 그냥 키보드로 입력
chpasswd
root:1234
snoopy:1234
test01:1234
root:1234
snoopy:1234
test01:1234
입력 종료는 Ctrl + D 누르면 된다.
2. echo와 파이프 활용
echo 'root:1234' | chpasswd
echo 'snoopy:1234' | chpasswd
echo 'test01:1234' | chpasswd
echo 'snoopy:1234' | chpasswd
echo 'test01:1234' | chpasswd
가독성은 좋지 않으나 echo에 -e 옵션을 주고 \n으로 개행 처리하여 한 줄로 할 수도 있다.
echo -e 'root:1234\nsnoopy:1234\ntest01:1234' | chpasswd
3. 텍스트 파일로부터 입력
미리 패스워드를 텍스트 파일에 적어놓고
password.txt
root:1234
snoopy:1234
test01:1234
snoopy:1234
test01:1234
아래와 같이 처리하면 되겠다.
cat password.txt | chpasswd
또는
chpasswd < password.txt
'리눅스' 카테고리의 다른 글
우분투 서비스 컨트롤 방법 (7) | 2014.01.01 |
---|---|
우분투 apt 미러 서버 구성 (2) | 2013.12.18 |
리눅스 ipv6 끄기 (0) | 2013.12.10 |
우분투 apt-get Repositoy 변경 (8) | 2013.12.05 |
우분투 새로 생성한 사용자의 프롬프트 비어있는 이유 (1) | 2013.11.29 |
우분투 root 계정 사용하기 (1) | 2013.11.29 |
우분투 네트워크 설정 (4) | 2013.11.29 |
CentOS Daum Repository (1) | 2013.11.12 |
최근에 달린 댓글 최근에 달린 댓글