레이블이 groupadd인 게시물을 표시합니다. 모든 게시물 표시
레이블이 groupadd인 게시물을 표시합니다. 모든 게시물 표시

nginx 홈디렉토리의 정적 리소스 접속 403 에러

nginx 를 사용자 홈디렉토리(/home/ysoftman/nginx) 에 설치하였다.
보안상의 이유로 nobody 계정으로 nginx 를 시작하였다.
그리고 index.html favicon.ico  check.txt(헬스체크를 위한)등의 정적 리소스도 /home/ysoftman/nginx/html/으로 서비스를 할때

http://localhost/check.txt 접속을하면 403 에러가 발생한다.

원인은 /home/ysoftman 의 other 권한에 x(실행)권한이 없어서다.
실행 권한을 주면 된다.
r(읽기) 권한만 줘면 안된다.
/home 의 other 에도 x권한이 있어야 한다.
즉 nginx static 절대 경로의 모든 other +x 가 있어야 한다.


보안상의 이유로 other 권한에 실행권한을 줄수 없다면

# 방법1
# 루트 경로나 /home 아래에 html 디렉토리를 옮기고 이쪽으로 정적 리소스를 서빙한다.
# nginx.conf 설정에서 /check.txt 의 루트 디렉토리를 다음처럼 변경한다.
location /check.txt {
    allow all;
    root   /home/html;
}

# /home/html other 권한에 +x 추가한다.
sudo chmod -R +x /home/html

# 방법2
# nobody 계정의 그룹에 ysoftman 그룹을 추가한다.
sudo groupadd ysoftman

# 그룹확인
groups nobody

Linux useradd groupadd 기본 환경 설정

# useradd 명령을 사용하면 기본적으로 /etc/default/useradd 파일을 참고하게 된다.
# vi /etc/default/useradd 로 쉘, 홈 디렉토리(사용자 디렉토리들의 기본 위치) 등의 기본값을 수정할 수 있다.
GROUP=100
HOME=/home1
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

# groupadd 명령을 사용하면 현재 사용자의 그룹을 추가할 수 있다.
sudo groupadd aaaa

# 현재 사용자가 속한 그룹 확인
vi /etc/group
# 또는
groups ysoftman