Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

비밀번호를 설정하여 리눅스(Linux) 사용자 계정 자동 생성하기

리눅스에서 사용자 계정을 배치 모드(완전 자동 방식)로 대량 생성해야 하는 경우가 종종 있습니다. 그런데 초보자들은 새 사용자를 만들 때 비밀번호를 터미널에서 일일이 직접 입력하지 않고 미리 설정해 두는 방법을 자주 묻곤 합니다.

useradd 명령어로 비밀번호 지정하기

다행히도 useradd 명령어는 입력 매개변수로 비밀번호를 받을 수 있습니다. 다만 주의할 점은, 이때 전달되는 비밀번호는 반드시 암호화된 값이어야 한다는 것입니다.

즉, 비밀번호가 설정된 리눅스 사용자 계정을 생성하려면 다음과 같은 명령 형식을 사용하면 됩니다:

useradd -m -p 암호화된비밀번호 사용자이름

여기서 -m 옵션은 사용자의 홈 디렉터리를 함께 생성해 주는 역할을 합니다.

비밀번호를 암호화하는 두 가지 방법

암호화된 비밀번호 값을 얻는 방법은 여러 가지가 있지만, 대표적으로 다음 두 가지를 소개합니다.

1. perl의 crypt() 함수 활용

첫 번째 방법은 perlcrypt() 함수를 이용하는 것입니다:

perl -e 'print crypt("password_to_be_encrypted", "salt"),"\n"'

이 명령을 실행하면 sa3tHJ3/KuYvI와 같은 암호화된 문자열이 출력됩니다. 이 값을 그대로 -p 옵션 뒤에 넣으면 됩니다.

2. openssl passwd 명령어 활용

두 번째 방법은 더 간단한데, 바로 openssl 명령어를 사용하는 것입니다:

openssl passwd password_to_be_encrypted

이 명령 역시 암호화된 비밀번호 문자열을 출력해 주므로, 결과값을 useradd-p 옵션에 전달하면 됩니다.

정리

이처럼 perl crypt() 또는 openssl passwd로 비밀번호를 먼저 암호화한 뒤 useradd -m -p 명령에 넘겨주면, 스크립트나 셸 파일 안에서 사용자 상호작용 없이도 비밀번호가 설정된 리눅스 계정을 손쉽게 자동 생성할 수 있습니다. 서버 초기 세팅이나 대량 계정 발급 작업에서 특히 유용한 방법입니다.