서버 이관 시 OS 관리자 입장에서 최소한 이건 봐야 한다라고 생각하는 것들과
계정 이관 시 간단한 명령어가 존재하지 않아 일단 스크립트 만들고 필요한 것만 선별할 수 있게 생성 스크립트 만드는 스크립트를 적어본다.
1. 서버 이관 시 OS 관리자 입장에서 최소한 고려해야 할 사항
(NTP는 제외했다. 그건 템플릿에 default로 있어야지)
검토 필요 파일명 | 용도 | 검토 필요 내용 |
/etc/resolv.conf | DNS | DNS 사용 여부(DMZ인데 서버팜, 서버팜인데 DMZ DNS 사용하는 경우 있음) |
/etc/hosts | domain-ip | NAS, 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.allow | CRONTAB | 사용자 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
'Linux' 카테고리의 다른 글
linux sftp umask 변경 (0) | 2024.05.27 |
---|---|
Windows Linux Unix(AIX) 파일 공유 (0) | 2024.04.25 |
타 계정 명령어 실행 권한 부여(sudoers) (1) | 2024.01.26 |
일반유저가 1024 이하 포트를 사용하기(setcap/getcap) (1) | 2024.01.23 |
nvidia A30 Graphic 드라이버 설치 (0) | 2024.01.16 |
댓글