본문 바로가기
Linux

서버 이관 시 최소 고려사항 및 계정 그룹 생성 스크립트

by 도경다경 2024. 11. 4.
반응형

서버 이관 시 OS 관리자 입장에서 최소한 이건 봐야 한다라고 생각하는 것들과
계정 이관 시 간단한 명령어가 존재하지 않아 일단 스크립트 만들고 필요한 것만 선별할 수 있게 생성 스크립트 만드는 스크립트를 적어본다.
1. 서버 이관 시 OS 관리자 입장에서 최소한 고려해야 할 사항
(NTP는 제외했다. 그건 템플릿에 default로 있어야지)

검토 필요 파일명용도검토 필요 내용
/etc/resolv.confDNSDNS 사용 여부(DMZ인데 서버팜, 서버팜인데 DMZ DNS 사용하는 경우 있음)
/etc/hostsdomain-ipNAS, NTP, HA 및 기타 서비스용 domain 확인
/etc/security/limits.conf시스템 파라미터ulimit 관련 설정 확인 (DB, MW 관련) 확인
/etc/security/limits.d/20-nproc.conf 시스템 파라미터ulimit 관련 설정 확인 (DB, MW 관련) 확인
/etc/sysctl.conf커널 파라미터커널 파라미터 (DB, MW 관련) 확인
/etc/group사용자 그룹불필요/중복 그룹 제거. 
/etc/passwd사용자불필요 사용자 확인. 숫자로 시작하는 계정 변경
/etc/sudoers사용자 권한사용자 sudo 권한
/etc/cron.allowCRONTAB사용자 cron 권한 동일 부여 여부
/var/spool/cron/*CRONTAB사용자 cron 내용 동일 여부
RHEL 8.4의 경우 MAILTO="" 가 각 파일에 포함되어 있어야 함

 
2. 계정 및 그룹 생성 구문을 만들어주는 스크립트


#!/bin/bash
output_file="/sysadmin/work/create_users.sh"
echo "!/bin/bash" > $output_file
echo "" >> $output_file
echo "## create groups ##" >> $output_file

while IFS=: read -r group_name group_password gid user_list
do
        if [ "$gid" -lt 700 ] || [ -z "$user_list" ] || [[ "$user_list" == *"operator"* ]]; then
                continue;
        fi 
        echo "groupadd -g $gid $group_name" >> $output_file
done < /etc/group
 
 echo "" >> $output_file
echo "## create users ##" >> $output_file
echo "" >> $output_file 
while IFS=: read -r username password uid gid info home shell
do
        if [ "$uid" -lt 200 ] || [ "$shell" == "/sbin/nologin" ]; then
                continue;
        fi
         user_groups=$(groups $username | awk -F': ' '{print $2}' | tr ' ' ',')
        echo "useradd -m -u $uid -g $gid -G $user_groups -c \"$info\" -s $shell $username; echo 'Abllife1!' | passwd --stdin $username;" >> $output_file
done < /etc/passwd
chmod +x $output_file



 

반응형

댓글