Linux에서 새 사용자를 추가하는 Bash 스크립트

Naila Saad Siddiqui 2024년2월15일
Linux에서 새 사용자를 추가하는 Bash 스크립트

이 짧은 문서는 사용자를 자동으로 추가하고 Linux 운영 체제에 암호를 할당할 수 있는 Bash 스크립트를 만드는 방법에 관한 것입니다. Linux 운영 체제에서 useradd 명령은 새 사용자를 추가하고 암호를 제공하는 데 사용됩니다.

Bash 스크립트 useradd 명령

사용자 추가를 위한 간단한 유틸리티는 useradd입니다. Debian의 관리자는 일반적으로 adduser를 대신 사용해야 합니다.

-D 옵션 없이 useradd 명령을 호출하면 명령줄에 입력한 값과 시스템 기본값으로 새 사용자 계정이 생성됩니다. useradd 명령은 시스템 파일을 업데이트하고 명령줄 옵션에 따라 다른 작업을 수행할 수 있습니다.

또한 새 사용자의 홈 디렉토리를 만들고 초기 파일을 복사합니다.

사용자 추가를 위한 Bash 스크립트

Linux 운영 체제에서 새 사용자를 시스템에 추가하려면 루트 사용자여야 합니다. 따라서 스크립트에서 먼저 스크립트를 실행하는 사용자가 루트 사용자인지 확인해야 합니다.

그런 다음 사용자로부터 입력 사용자 이름과 암호를 받은 다음 useradd 명령을 실행할 수 있습니다. 아래의 스크립트를 살펴보겠습니다.

배쉬 스크립트:

#!/bin/bash

if [ $(id -u) -eq 0 ]; then
    read -p "Enter your  username : " user_name
    read -s -p "Enter your password : " pass
    egrep "^$user_name" /etc/passwd >/dev/null
    if [ $? -eq 0 ]; then
        echo "$user_name exists!"
        exit 1
    else
        epass=$(perl -e 'print crypt($ARGV[0], "pass")' $pass)
        useradd -m -p "$epass" "$user_name"
        [ $? -eq 0 ] && echo "Successfully added User!" || echo "Sorry! User not added"
    fi
else
    echo "Sorry! You are not authorized to add users."
    exit 2
fi

사용자로부터 사용자 이름과 암호를 읽은 후 egrep 명령을 사용하여 주어진 사용자 이름을 가진 사용자가 이미 존재하는지 먼저 검색했습니다. /etc/passwd 파일에 사용자 항목이 있으면 사용자가 이미 존재한다는 의미입니다.

그렇지 않으면 perl 명령을 사용하여 암호를 암호화합니다. perl 명령은 암호화된 암호가 있는 화면을 표시합니다.

Perl의 crypt() 함수는 단방향 암호화 알고리즘을 사용하므로 일단 암호화된 암호는 해독할 수 없습니다. 사용자의 암호 문자열을 획득하고 솔트를 사용하여 암호화한 다음 컴퓨터 화면에 표시합니다.

useradd 명령을 실행한 후 $?를 사용하여 결과를 확인합니다. 값을 표시하고 사용자에게 적절한 메시지를 표시합니다.

출력:

useradd 명령의 bash 스크립트 출력

관련 문장 - Bash Command