103 lines
3.4 KiB
Bash
Executable File
103 lines
3.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ============================================================
|
|
# set_mysql_permission.sh
|
|
# MySQL, PostgreSQL, Redis 데이터 디렉터리 권한 설정 스크립트
|
|
# ============================================================
|
|
|
|
# 스크립트 실행 경로 기준
|
|
MYSQL_DIR="./mysql"
|
|
PGDATA_DIR="./pgdata"
|
|
REDIS_DIR="./redis"
|
|
|
|
# ============================================================
|
|
# MySQL (Percona) 권한 설정
|
|
# ============================================================
|
|
echo "[MySQL] 데이터 디렉터리 권한 설정을 시작합니다..."
|
|
echo "[MySQL] 대상 디렉터리: $MYSQL_DIR"
|
|
|
|
if [ ! -d "$MYSQL_DIR" ]; then
|
|
echo "[MySQL] $MYSQL_DIR 디렉터리가 존재하지 않아 새로 생성합니다."
|
|
sudo mkdir -p "$MYSQL_DIR"
|
|
fi
|
|
|
|
# Percona의 mysql 유저 UID는 보통 1001
|
|
MYSQL_UID=1001
|
|
MYSQL_GID=1001
|
|
|
|
echo "[MySQL] 소유권을 $MYSQL_UID:$MYSQL_GID 로 변경합니다..."
|
|
sudo chown -R ${MYSQL_UID}:${MYSQL_GID} "$MYSQL_DIR"
|
|
|
|
echo "[MySQL] 권한을 750 (rwxr-x---) 으로 설정합니다..."
|
|
sudo chmod -R 750 "$MYSQL_DIR"
|
|
|
|
echo "[MySQL] 적용 결과:"
|
|
ls -ld "$MYSQL_DIR"
|
|
|
|
# ============================================================
|
|
# PostgreSQL 권한 설정
|
|
# ============================================================
|
|
echo ""
|
|
echo "[PostgreSQL] 데이터 디렉터리 권한 설정을 시작합니다..."
|
|
echo "[PostgreSQL] 대상 디렉터리: $PGDATA_DIR"
|
|
|
|
if [ ! -d "$PGDATA_DIR" ]; then
|
|
echo "[PostgreSQL] $PGDATA_DIR 디렉터리가 존재하지 않아 새로 생성합니다."
|
|
sudo mkdir -p "$PGDATA_DIR"
|
|
fi
|
|
|
|
# PostgreSQL의 postgres 유저 UID는 보통 999 (공식 Docker 이미지 기준)
|
|
POSTGRES_UID=999
|
|
POSTGRES_GID=999
|
|
|
|
echo "[PostgreSQL] 소유권을 $POSTGRES_UID:$POSTGRES_GID 로 변경합니다..."
|
|
sudo chown -R ${POSTGRES_UID}:${POSTGRES_GID} "$PGDATA_DIR"
|
|
|
|
echo "[PostgreSQL] 권한을 700 (rwx------) 으로 설정합니다..."
|
|
sudo chmod -R 700 "$PGDATA_DIR"
|
|
|
|
echo "[PostgreSQL] 적용 결과:"
|
|
ls -ld "$PGDATA_DIR"
|
|
|
|
# ============================================================
|
|
# Redis 권한 설정
|
|
# ============================================================
|
|
echo ""
|
|
echo "[Redis] 데이터 디렉터리 권한 설정을 시작합니다..."
|
|
echo "[Redis] 대상 디렉터리: $REDIS_DIR"
|
|
|
|
if [ ! -d "$REDIS_DIR" ]; then
|
|
echo "[Redis] $REDIS_DIR 디렉터리가 존재하지 않아 새로 생성합니다."
|
|
sudo mkdir -p "$REDIS_DIR/data"
|
|
sudo mkdir -p "$REDIS_DIR/conf"
|
|
fi
|
|
|
|
if [ ! -d "$REDIS_DIR/data" ]; then
|
|
echo "[Redis] $REDIS_DIR/data 디렉터리가 존재하지 않아 새로 생성합니다."
|
|
sudo mkdir -p "$REDIS_DIR/data"
|
|
fi
|
|
|
|
if [ ! -d "$REDIS_DIR/conf" ]; then
|
|
echo "[Redis] $REDIS_DIR/conf 디렉터리가 존재하지 않아 새로 생성합니다."
|
|
sudo mkdir -p "$REDIS_DIR/conf"
|
|
fi
|
|
|
|
# Redis의 redis 유저 UID는 보통 999 (공식 Docker 이미지 기준)
|
|
REDIS_UID=999
|
|
REDIS_GID=999
|
|
|
|
echo "[Redis] 소유권을 $REDIS_UID:$REDIS_GID 로 변경합니다..."
|
|
sudo chown -R ${REDIS_UID}:${REDIS_GID} "$REDIS_DIR"
|
|
|
|
echo "[Redis] 권한을 750 (rwxr-x---) 으로 설정합니다..."
|
|
sudo chmod -R 750 "$REDIS_DIR"
|
|
|
|
echo "[Redis] 적용 결과:"
|
|
ls -ld "$REDIS_DIR"
|
|
ls -la "$REDIS_DIR"
|
|
|
|
# ============================================================
|
|
# 완료
|
|
# ============================================================
|
|
echo ""
|
|
echo "[완료] 모든 권한 설정이 완료되었습니다."
|