Closed ibin79 closed 2 years ago
2021/09/10 14:03:30 [crit] 30352#30352: *16 open() "/var/lib/nginx/tmp/client_body/0000000002" failed (13: Permission denied),
# ./nginx-to-nobody.sh
php79 stack version 1.2.1
### Nginx 디렉토리의 소유자/그룹을 nginx 에서 nobody 로 변경합니다. ###
- 약 2021년 8월 이후, nginx 를 신규소 설치한 경우, 이 스크립트를 실행해주시면 됩니다.
참고) https://github.com/php79/stack/issues/86
변경할 디렉토리/파일:
/var/lib/nginx/tmp
위 디렉토리/파일의 소유자/그룹을 nobody 로 변경하시겠습니까? [n/Y] y
changed ownership of ‘/var/lib/nginx/tmp’ from nginx to nobody
소유자/그룹을 nobody 로 변경하였습니다.
#!/usr/bin/env bash
# Copyright:: Copyright (c) 2016 Been Kyung-yoon (http://www.php79.com/)
# License:: The MIT License (MIT)
STACK_ROOT=$( cd "$( dirname "$0" )" && pwd )
source "${STACK_ROOT}/includes/function.inc.sh"
cd ${STACK_ROOT}
welcome_short
title "Nginx 디렉토리의 소유자/그룹을 nginx 에서 nobody 로 변경합니다."
outputInfo " - 약 2021년 8월 이후, nginx 를 신규소 설치한 경우, 이 스크립트를 실행해주시면 됩니다.\n"
outputInfo " 참고) https://github.com/php79/stack/issues/86\n"
echo
DIRS="/var/lib/nginx"
FILES=$( find ${DIRS} -user nginx -o -group nginx )
if [ -z "${FILES}" ]; then
outputInfo "변경 대상이 없으므로 중단합니다."
echo
else
outputComment "변경할 디렉토리/파일:\n"
echo ${FILES}|xargs -n 1
echo
if [ "$INTERACTIVE" = "1" ]; then
outputQuestion "위 디렉토리/파일의 소유자/그룹을 nobody 로 변경하시겠습니까? [n/Y]"
read -p " " -r
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
outputInfo "변경을 중단합니다."
echo
exit 1
fi
fi
find ${FILES} -user nginx -exec chown -v nobody {} \;
find ${FILES} -group nginx -exec chgrp -v nobody {} \;
echo
outputInfo "소유자/그룹을 nobody 로 변경하였습니다."
echo
fi
nginx 업데이트시에도 변경되는 문제 확인되어,
nginx-to-nobody.sh 스크립트 추가 완료함.
오류
신규 설치후 index.html 만 추가해도, 권한 오류 발생
원인
nginx 신규 설치시 user 가 nobody 에서 nginx 로 바뀜
nginx/1.20.1
임시 해결
TODO: