리눅스 로그인 관리

리눅스 운영 체제에서는 사용자 계정 관리와 로그인 보안을 효과적으로 관리하는 것이 중요합니다. 이 블로그 포스트에서는 Bash 스크립트를 사용하여 리눅스 로그인 관리를 수행하는 방법에 대해 살펴보겠습니다.

1. 사용자 계정 관리

리눅스에는 사용자 계정에 대한 다양한 설정이 가능합니다. 몇 가지 중요한 설정에 대해 알아보겠습니다.

a. 계정 생성

새로운 사용자 계정을 생성하는 것은 중요한 계정 관리 작업 중 하나입니다. 아래는 새로운 사용자 계정을 생성하는 Bash 스크립트의 예시입니다.

#!/bin/bash

# 새로운 사용자 계정 생성
username="newuser"
password="newpassword"

# 사용자 생성 명령 실행
adduser --disabled-password --gecos "" $username

# 비밀번호 설정
echo "$username:$password" | chpasswd

위의 스크립트는 newuser라는 사용자 계정을 생성하고, newpassword라는 비밀번호를 설정합니다. adduser 명령어를 사용하여 사용자를 생성하고, chpasswd를 사용하여 비밀번호를 설정합니다.

b. 계정 삭제

계정 삭제는 사용자가 더 이상 필요하지 않을 때 수행하는 작업입니다. 아래는 계정 삭제를 위한 Bash 스크립트의 예시입니다.

#!/bin/bash

# 삭제할 사용자 계정 이름
username="olduser"

# 계정 삭제 명령 실행
userdel -r $username

위의 스크립트는 olduser라는 사용자 계정을 삭제합니다. -r 옵션을 사용하여 계정과 계정 디렉토리를 모두 삭제합니다.

2. 로그인 보안 강화

리눅스 계정 보안은 로그인 시도에 대한 보호와 패스워드 정책을 강화하는 것을 포함합니다.

a. 비밀번호 정책 설정

리눅스에서는 /etc/login.defs 파일을 통해 비밀번호 정책을 설정할 수 있습니다. 아래는 이 파일을 편집하여 비밀번호 정책을 강화하는 Bash 스크립트의 예시입니다.

#!/bin/bash

# 비밀번호에 대한 설정
sed -i 's/PASS_MAX_DAYS 99999/PASS_MAX_DAYS 90/g' /etc/login.defs
sed -i 's/PASS_MIN_DAYS 0/PASS_MIN_DAYS 7/g' /etc/login.defs
sed -i 's/PASS_WARN_AGE 7/PASS_WARN_AGE 7/g' /etc/login.defs

# 패스워드 정책 강제 적용
/usr/sbin/chage -m 7 -M 30 -W 7 username

위의 스크립트는 비밀번호 유효 기간을 90일로, 최소 변경 기간을 7일로, 비밀번호 변경 경고 기간을 7일로 설정합니다. 또한, chage 명령어를 사용하여 특정 사용자에게 패스워드 정책을 강제 적용합니다.

b. 로그인 시도 제한

리눅스에서는 사용자의 로그인 시도를 제한하여 무차별 대입 공격 등으로부터 보호할 수 있습니다. 아래는 사용자의 로그인 시도 제한을 설정하는 Bash 스크립트의 예시입니다.

#!/bin/bash

# 로그인 시도 제한 설정
sed -i 's/#MaxAuthTries 6/MaxAuthTries 3/g' /etc/ssh/sshd_config
sed -i 's/#MaxSessions 10/MaxSessions 4/g' /etc/ssh/sshd_config

# SSH 서비스 재시작
service ssh restart

위의 스크립트는 /etc/ssh/sshd_config 파일을 편집하여 로그인 시도 제한을 설정합니다. MaxAuthTries를 3으로, MaxSessions를 4로 설정합니다. 마지막으로, SSH 서비스를 재시작하여 변경 사항을 적용합니다.

결론

리눅스 로그인 관리는 사용자 계정 관리와 로그인 보안에 관련된 중요한 작업입니다. 위에서 소개한 Bash 스크립트 예시를 활용하여 리눅스 시스템의 로그인 관리를 효과적으로 수행할 수 있습니다. 보안 강화와 사용자 계정 관리를 비롯한 리눅스 운영은 시스템의 안전한 운영을 보장하는 데 도움이 됩니다.