cPanel에서 파일 권한 이해 및 관리하기

파일 권한은 호스팅 계정 내 파일과 폴더를 누가 읽고, 수정하고, 실행할 수 있는지를 정의합니다. 올바른 권한 설정은 cPanel 계정과 호스팅된 웹사이트의 보안 및 정상적인 기능 유지를 위해 매우 중요합니다.


파일 권한이란?


cPanel에서 사용하는 리눅스 기반 호스팅 서버에서는 모든 파일과 폴더에 소유자, 그룹, 그리고 권한 규칙이 있습니다.

권한은 다음에 대해 허용되는 작업을 결정합니다:

  • 사용자(소유자) - 귀하의 cPanel 계정

  • 그룹 - 서버 수준 그룹

  • 기타/월드 - 서버의 모든 나머지 사용자

각각은 파일 및 디렉터리에 대해 세 가지 접근 유형을 가질 수 있습니다:

  • 읽기(r) - 파일 내용 보기 / 폴더 내 파일 목록 확인 허용

  • 쓰기(w) - 파일 수정 / 폴더 내 파일 추가 또는 삭제 허용

  • 실행 (x) - 파일(스크립트, 애플리케이션) 실행 / 폴더 진입/접근 허용

참고: 폴더에 실행(x) 권한이 있어야 접근할 수 있습니다.


접근 수준은 숫자로도 정의됩니다:

  • 0 - 파일 접근 불가

  • 1 - 실행만 가능

  • 2 - 쓰기만 가능

  • 3 - 쓰기 및 실행

  • 4 - 읽기만 가능

  • 5 - 읽기 및 실행

  • 6 - 읽기 및 쓰기

  • 7 - 읽기, 쓰기, 실행 (전체 권한)

예시: 가장 일반적인 755와 644

  • 소유자: 7 - 읽기, 쓰기, 실행

  • 그룹: 5 - 읽기, 실행

  • 기타: 5 - 읽기, 실행

  • 소유자: 6 - 읽기, 쓰기

  • 그룹: 4 - 읽기

  • 기타: 4 - 읽기

웹사이트 파일이 브라우저에서 올바르게 표시되도록 하려면 다음 권한을 사용하는 것이 좋습니다:

HTML 및 이미지 파일644 (0644)로 설정해야 합니다. 이는 모든 사용자가 파일을 읽을 수 있지만 계정 소유자만 수정할 수 있도록 합니다. 이러한 권한은 일반적으로 파일 생성 시 자동으로 적용됩니다.

폴더755 (0755)로 설정해야 합니다. 이는 다른 사용자가 폴더 내용을 읽고 접근할 수 있지만 계정 소유자만 수정할 수 있도록 합니다. 이러한 권한은 폴더 생성 시 자동으로 할당되는 경우가 많습니다.

CGI 파일(일반적으로 cgi-bin 폴더에 위치) 은 755 (0755)로 설정해야 합니다. 이는 다른 사용자가 파일을 읽고 실행할 수 있지만 계정 소유자만 수정할 수 있도록 합니다. 이러한 권한은 항상 자동으로 설정되는 것은 아니며 수동으로 조정해야 할 수도 있습니다.

참고사항

  1. 권한을 777로 설정하는 것은 심각한 보안 위험을 초래하므로 피해야 합니다.

  2. 잘못된 권한 설정은 호스팅 계정의 보안을 크게 약화시켜 무단 사용자가 파일을 수정하거나, 민감한 구성 데이터를 노출시키거나, 악성코드 감염 위험을 높일 수 있습니다.

  3. 웹사이트 기능 측면에서 잘못된 권한은 500 Internal Server Error, "403 Permission denied" 오류, 미디어 업로드 실패, 플러그인 또는 테마 설치 문제 등을 유발할 수 있습니다.


파일 및 디렉터리 권한 변경 방법


권한은 세 가지 주요 방법으로 수정할 수 있습니다: 파일 관리자(cPanel 내), SSH (명령줄), 또는 크론 작업(자동 명령 실행) 사용. 각 방법은 상황에 따라 적합합니다.

  • 파일 관리자

한두 개의 파일/폴더 권한만 변경해야 할 때 유용합니다.

  1. cPanel 계정에 로그인하여 파일 섹션으로 이동한 후 파일 관리자 메뉴를 엽니다.

    또는 호스팅 관리자에서 관리를 클릭하고, 파일 및 저장소로 이동한 후, 웹사이트 이름 옆의 파일 관리를 누르면 파일 관리자에서 도메인 루트 폴더로 이동합니다.

  2. 오른쪽 열의 권한에서 현재 권한을 확인할 수 있습니다:


  3. 특정 파일/폴더의 현재 권한을 수정하려면 파일 권한을 한 번 클릭하고 필요한 숫자를 입력한 뒤 저장(또는 Enter)를 누르세요:


    또한 파일/폴더를 오른쪽 클릭하여 권한 변경 옵션을 선택해도 권한을 수정할 수 있습니다. 관련 창이 나타납니다:



    조정 체크박스를 선택하고 권한 변경을 클릭하여 저장하세요.


    : 파일 관리자 상단 메뉴의 권한 옵션을 사용할 때도 동일한 설정 표가 열립니다:


  • SSH 명령줄

SSH를 사용하면 chmod 명령어로 권한을 수정할 수 있습니다. 이 방법은 여러 파일의 권한을 변경해야 할 때 유용합니다.

  1. 호스팅 계정에 SSH로 접속하세요.

  2. 다음으로, 아래 명령어를 사용해 도메인 루트 디렉터리로 이동하세요:

    cd /home/username/root_folder

    참고: 실제 cPanel 사용자명과 username, 도메인에 맞는 올바른 디렉터리명을 입력해야 합니다:root_folder

  3. 아래 명령어로 디렉터리 권한을 0755, 파일 권한을 0644로 설정하세요:

    find ./ -type f -not -perm 644 -not -name ".ftpquota" -exec chmod 644 -c {} \;; find ./ -type d -not -perm 755 -not -group nobody -exec chmod 755 -c {} \;

  4. 명령 실행이 완료되면 권한이 변경된 파일 및 폴더 목록이 표시됩니다:


  • 크론 작업

크론 작업을 사용하면 (예: chmod) 명령을 특정 간격마다 자동으로 실행할 수 있습니다.

  1. cPanel에서 크론 작업 메뉴로 이동하세요:


  2. 새 크론 작업 추가 섹션에서 일반 설정5분마다 한 번으로 설정하고, 다음 스크립트를 명령어 줄에 추가하세요:

    cd /home/username/root_folder && find ./ -type f -not -perm 644 -not -name ".ftpquota" -exec chmod 644 -c {} \;; find ./ -type d -not -perm 755 -not -group nobody -exec chmod 755 -c {} \;

    참고 1: 실제 cPanel 사용자명과 username, 도메인에 맞는 올바른 디렉터리명을 입력해야 합니다.root_folder

    참고 2: 스크립트는 반드시 메인 홈 디렉터리(예: /home/username)에서 실행하면 안 됩니다. 홈 디렉터리에는 시스템 및 계정별 폴더가 포함되어 있으며, cPanel의 정상 작동을 위해 맞춤 권한 설정이 필요합니다. 해당 권한을 기본값(0755/0644)으로 변경하면 보안 문제, 서비스 충돌, 또는 제어판 오작동이 발생할 수 있습니다. 이 경우 전체 cPanel 백업 복원만이 해결책입니다.


  3. 크론 작업을 실행하고 최대 5분 동안 스크립트가 변경 사항을 적용할 때까지 기다리세요. 이후에는 반드시 해당 작업을 삭제해야 합니다:


정확한 권한 설정이 확실하지 않다면 최소한의 변경만 하거나 고객 지원에 문의하여 보안 위험 또는 서비스 중단을 예방하세요.

유효한 이메일이 필요합니다