Study/Linux

[Script] 리눅스 사용자 추가 쉽게하자!

Dream Amal 2024. 4. 30.

리눅스를 사용하면서 sudo 권한을 가진 root 계정만 이용하는 것이 습관이 되면

추 후에 이력관리가 안되어 어려움을 겪는 경우가 많습니다.

 

저의 경우에는 VM을 올리는 과정에서 history buffer 사이즈를 10000이상 늘려놓고, 

아래의 스크립트를 활용해 계정을 생성한 후, 해당 계정을 통해 서버에 접근하는 것을 늘 원칙으로 하고 있습니다.

 

리눅스의 사용자를 추가하는 스크립트를 공유하도록 하겠습니다.

각 명령어가 하는 일은 주석을 달아 두었으니 참고 부탁드립니다.

 

adduser.sh 스크립트

#!/bin/bash

##########################
# last update:240429     #
# eunsil2514@gmail.co.kr #
##########################

# 추가할 계정 이름을 변수(username)로 받습니다
read -p "Enter the username: " username

# 추가할 계정이 기존에 존재하는지 확인합니다
if id "$username" &>/dev/null; then
    echo "User '$username' already exists."
    # 만약 존재한다면, 해당 계정의 패스워드를 변경할 것인지 물어봅니다
    read -p "Do you want to set a new password for this user? (y/n): " choice
    if [ "$choice" != "y" ]; then
        exit 1
    fi
else
    # 존재하지 않는다면, useradd 명령어를 사용하여 계정을 생성합니다
    useradd -m $username
fi

# 해당 계정의 패스워드를 변수(password)로 받습니다
read -s -p "Enter the password for $username: " password
echo
# 계정의 패스워드를 설정합니다
echo "$username:$password" | chpasswd

# 패스워드를 활용한 SSH 접속을 허용한 후, sshd를 재시작해줍니다
sed -i '/PasswordAuthentication/s/no/yes/' /etc/ssh/sshd_config
systemctl restart sshd

# 추가한 유저에 sudo 권한을 부여합니다
# 만약 sudo 권한을 추가하고 싶지 않다면 아래 명령어를 주석처리하세요
echo "$username ALL=(ALL) ALL" | sudo tee -a /etc/sudoers

echo "User '$username' added, and sudo access granted successfully!!"

 

스크립트 사용 방법

먼저 위의 adduser.sh 스크립트를 서버에 저장한 후, 실행 권한을 부여합니다.

$ chmod +x ./adduser.sh

 

이후 해당 스크립트를 사용하여 계정을 생성할 수 있습니다.

$ ./adduser.sh

 

728x90

'Study > Linux' 카테고리의 다른 글

[NginX] NGINX 소스 컴파일로 설치하기  (0) 2024.05.27
[Script] Shell Script 작성을 위한 기초 문법  (0) 2024.05.03

댓글