From 9053df7c8088d0491d196fe2eb9c5190c6d4cf3c Mon Sep 17 00:00:00 2001 From: siane Date: Tue, 23 Dec 2025 10:51:52 +0900 Subject: [PATCH] Update setup_common.sh --- setup_common.sh | 45 +++++++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/setup_common.sh b/setup_common.sh index 9bdebab..5c3f496 100644 --- a/setup_common.sh +++ b/setup_common.sh @@ -1,7 +1,6 @@ #!/bin/bash -# 공통 설치 스크립트 (Rocky Linux 9) -# 현재 사용자 계정 기준으로 웹 루트 생성, Apache + FTP 설치 -# Vim 설치 및 Visual 모드 비활성화, Bash 가독성 설정 포함 +# 테스트 서버용 공통 설치 스크립트 (Rocky Linux 9) +# Tailscale 호환, 외부 미노출 아님, 최소 권한, Apache + FTP + Vim + Bash 설정 WEB_USER=$USER WEB_HOME=$(eval echo "~$WEB_USER") @@ -13,11 +12,17 @@ echo "웹 루트: $WEB_ROOT" # 1. 시스템 업데이트 sudo dnf update -y -# 2. www 폴더 생성 -mkdir -p "$WEB_ROOT" -chmod 755 "$WEB_ROOT" +# 2. firewalld 비활성화 +sudo systemctl stop firewalld +sudo systemctl disable firewalld +echo "firewalld 비활성화 완료" -# 3. Apache 설치 및 설정 +# 3. www 폴더 생성, 소유자/권한 제한 +mkdir -p "$WEB_ROOT" +chmod 750 "$WEB_ROOT" +chown $WEB_USER:$WEB_USER "$WEB_ROOT" + +# 4. Apache 설치 sudo dnf install -y httpd sudo systemctl enable --now httpd @@ -28,7 +33,7 @@ sudo bash -c "cat > $APACHE_CONF" < - Options Indexes FollowSymLinks + Options -Indexes +FollowSymLinks AllowOverride All Require all granted @@ -39,31 +44,39 @@ EOF sudo systemctl restart httpd -# 4. FTP 설치 및 설정 (vsftpd) +# 5. FTP 설치 및 설정 (vsftpd) sudo dnf install -y vsftpd sudo systemctl enable --now vsftpd +# FTP 설정 sudo sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf sudo sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf sudo bash -c "echo 'allow_writeable_chroot=YES' >> /etc/vsftpd/vsftpd.conf" +sudo bash -c "echo 'listen_address=127.0.0.1' >> /etc/vsftpd/vsftpd.conf" sudo systemctl restart vsftpd -# 5. Vim 설치 및 Visual 모드 비활성화 +# 6. SSH 설정 강화 +sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config +sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config +sudo systemctl restart sshd + +# 7. Vim 설치 및 Visual 모드 비활성화 sudo dnf install -y vim -# visual 모드 없이 편집 가능하도록 기본 설정 echo "set mouse=" >> "$WEB_HOME/.vimrc" -echo "set number" >> "$WEB_HOME/.vimrc" # 행 번호 표시 chown $WEB_USER:$WEB_USER "$WEB_HOME/.vimrc" -# 6. Bash 가독성 향상 설정 +# 8. Bash 가독성 향상 설정 BASHRC="$WEB_HOME/.bashrc" echo "" >> $BASHRC echo "# --- Bash 가독성 설정 ---" >> $BASHRC -echo "export PS1='[\u@\h \W]\$ '" >> $BASHRC # 프롬프트 형식 간단하게 +echo "export PS1='[\u@\h \W]\$ '" >> $BASHRC echo "alias ll='ls -alF --color=auto'" >> $BASHRC echo "alias la='ls -A --color=auto'" >> $BASHRC echo "alias l='ls -CF --color=auto'" >> $BASHRC -echo "export HISTCONTROL=ignoreboth" >> $BASHRC # 중복/공백명령 기록 방지 +echo "export HISTCONTROL=ignoreboth" >> $BASHRC chown $WEB_USER:$WEB_USER $BASHRC -echo "공통 설정 완료! Apache + FTP + Vim + Bash 환경 설정됨." +# 9. SELinux 웹 루트 접근 허용 +sudo chcon -R -t httpd_sys_content_t "$WEB_ROOT" + +echo "테스트 서버용 공통 설정 완료! Apache + FTP + Vim + Bash 환경 구성됨."