워드프레스 파일 권한 오류 (644, 755) 발생하는 근본적인 이유 3가지
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
저는 워드프레스 운영 초기에 '파일 권한 설정 오류' 때문에 겪은 비효율성이 아직도 생생합니다. 2년 동안 파일 업로드 문제나 플러그인 업데이트 실패가 발생할 때마다, 저는 무조건 권한을 777로 바꿨다가 다시 644/755로 되돌리는 작업을 반복했습니다. 이 단순 반복 작업에 제가 낭비한 시간만 해도 거의 200시간이 넘을 것입니다.
하지만 3개월 전, 서버 전문가의 조언을 듣고 딱 3가지 근본적인 변화를 시도했습니다. 그 결과, 이전까지 해결하지 못했던 오류를 30분 만에 영구적으로 해결할 수 있었습니다. 이 글에서는 제가 겪었던 시행착오와 함께, 시간을 절약할 수 있는 가장 효율적인 '파일 권한 오류' 진단 및 해결 공식을 공유하고자 합니다.
1. 워드프레스 '파일 권한'의 핵심 개념: 왜 777이 위험한가?
파일 권한은 리눅스 기반 서버에서 파일에 접근하는 사용자(User), 그룹(Group), 그리고 기타 사용자(Others)에게 부여하는 '읽기(Read, 4)', '쓰기(Write, 2)', '실행(Execute, 1)' 능력을 숫자로 표현한 것입니다. 이 3가지 능력을 소유권의 주체(U/G/O)에 따라 세 자리 숫자로 조합하여 부여합니다.
제가 777을 피해야 했던 이유는 명확합니다. 777은 모든 사용자에게 모든 권한(읽기, 쓰기, 실행)을 허용하는 것인데, 이는 마치 집 문을 잠그지 않고 모든 사람에게 '마음대로 들어와도 된다'고 말하는 것과 같습니다. 이는 악성코드 감염 및 해킹에 매우 취약해지며, AdSense 승인을 준비하는 저의 목표에 심각한 보안 위험을 안겨주었습니다.
2. 표준 권한: '644와 755'의 정확한 문법 및 적용 공식
워드프레스에서 권장하는 표준 권한은 모든 파일을 안전하게 관리하기 위한 일종의 '규칙'입니다. 이는 보안과 기능을 동시에 만족시키는 가장 이상적인 설정값입니다.
- 파일 (Files): 644
- 소유자: 읽기(4) + 쓰기(2) = 6
- 그룹: 읽기(4)
- 기타: 읽기(4)
- 디렉토리 (Directories): 755
- 소유자: 읽기(4) + 쓰기(2) + 실행(1) = 7
- 그룹: 읽기(4) + 실행(1) = 5
- 기타: 읽기(4) + 실행(1) = 5
이 문법을 적용할 때 가장 중요한 것은 재귀적 적용입니다. FTP 클라이언트에서 권한을 변경할 때 반드시 하위 폴더 및 파일에 모두 적용(Recursive) 옵션을 체크해야 제가 원하는 권한 구조가 한 번에 완성됩니다.
3. 내가 겪은 가장 흔한 오류 원인 3가지: 소유자/그룹 불일치
2주 동안 오류를 분석한 결과, 단순히 644/755 숫자를 잘못 입력해서 발생하는 오류는 거의 없었습니다. 진짜 문제는 소유권(chown)에 있었습니다. 제가 겪은 핵심 오류 원인 3가지입니다.
- FTP 사용자/웹 서버 사용자 불일치: 제가 FTP로 파일을 업로드하면 소유자는 '저(FTP 사용자)'가 됩니다. 하지만 워드프레스(웹 서버, 예:
www-data또는apache)가 플러그인 업데이트를 시도할 때는 웹 서버 사용자 권한이 필요합니다. 이 소유자 불일치 때문에 '쓰기' 권한 오류가 발생했습니다. - 호스팅 마이그레이션 후 소유자 정보 누락: 호스팅을 이전할 때 파일은 복사되지만, 이전 서버의 소유자/그룹 정보가 새 서버에 정확히 매칭되지 않아 오류가 발생했습니다. 이 경우, 파일은 존재하지만 서버가 접근할 권한이 없다고 판단합니다.
- 특정 플러그인의 과도한 권한 요구: 일부 보안 플러그인이나 캐시 플러그인이 특정 디렉토리에 777에 가까운 권한을 요구할 때, 제가 표준 권한(755)으로 고집하면 충돌이 발생했습니다. 이 경우 해당 플러그인의 문서에서 요구하는 최소 권한을 확인해야 합니다.
4. 권한 설정 오류 발생 시 'FTP/SFTP를 통한 3단계 진단 절차'
오류가 발생했을 때 제가 30분 만에 문제를 해결했던 핵심 단계는 다음과 같습니다. FTP 클라이언트(예: FileZilla)를 사용하면 쉽게 진단할 수 있습니다.
- 1단계: wp-content 폴더의 현재 소유권 확인. (FTP 클라이언트에서 파일 목록의 소유자/그룹 칼럼을 확인하여 현재 소유주가 누구인지 확인합니다.)
- 2단계: 문제가 된 파일/디렉토리의 권한(chmod) 확인. (파일/폴더를 우클릭하여 '파일 권한' 메뉴를 확인합니다. 644 또는 755가 아닌지 확인합니다.)
- 3단계: FTP와 웹 서버 사용자의 이름 불일치 추정. (만약 1단계에서 소유자가 저의 FTP ID이고, 2단계 권한은 정상(644/755)인데 오류가 지속된다면, 웹 서버 사용자(예:
www-data)가 소유자가 아니기 때문에 발생하는 소유권 오류로 진단합니다.)
이 3단계를 통해 저는 권한(chmod) 문제가 아닌 소유권(chown) 문제임을 확신할 수 있었습니다.
5. 명령줄(CLI)을 이용한 chown/chmod 적용 단계별 가이드
진단 결과 소유권 불일치 문제가 확인되었다면, FTP의 제한된 기능으로는 해결이 어렵습니다. 서버 터미널(SSH/CLI) 접속을 통해 3가지 구체적인 명령을 실행해야 합니다.
주의: 아래 명령은 워드프레스가 설치된 경로(/path/to/your/wordpress)와 웹 서버 사용자 이름(www-data)에 맞게 반드시 변경해야 합니다.
- 1단계: 소유자 및 그룹 일괄 변경 (
chown)
(주:chown -R www-data:www-data /path/to/your/wordpresswww-data는 웹 서버 사용자명이며, 호스팅 환경에 따라apache또는 사용자 ID로 대체해야 합니다.-R은 하위 디렉토리까지 재귀적으로 적용하라는 뜻입니다. 이 명령이 소유권 불일치 문제를 해결하는 핵심입니다.) - 2단계: 모든 디렉토리 권한 일괄 변경 (
chmod 755)
(find /path/to/your/wordpress -type d -exec chmod 755 {} \;-type d는 파일 구조 내에서 디렉토리만 선택하라는 명령어이며, 디렉토리에 755 권한을 일괄 적용합니다.) - 3단계: 모든 파일 권한 일괄 변경 (
chmod 644)
(find /path/to/your/wordpress -type f -exec chmod 644 {} \;-type f는 파일 구조 내에서 일반 파일만 선택하라는 명령어이며, 파일에 644 권한을 일괄 적용합니다.)
이 3가지 명령을 순서대로 실행한 후, 저는 더 이상 파일 권한 문제로 고생하지 않게 되었습니다.
6. 자주 묻는 질문: 권한을 777로 바꿔도 오류가 지속되는 이유
많은 사용자가 777이 '모든 권한 허용'이니 오류가 사라질 것이라고 생각하지만, 그렇지 않은 경우가 종종 발생합니다. 이 현상에 대해 제가 내린 결론은 다음과 같습니다.
777 권한을 설정했음에도 오류가 지속되는 경우는 대부분 SELinux(보안 확장 기능) 또는 웹 호스팅 업체의 보안 설정이 강하게 적용되어 777 권한 자체를 '무시'하거나 해당 권한으로 인한 쓰기 작업을 '차단'하기 때문입니다. 즉, 서버 자체의 정책이 최우선이므로, 사용자 임의의 777 설정이 허용되지 않는 것입니다. 이 경우, 호스팅 업체에 '워드프레스 표준 권한(644/755)과 웹 서버 사용자(예: www-data)가 정상적으로 작동할 수 있도록 환경을 조정해 달라'고 요청해야 합니다.
7. 결론: 2주간의 시행착오 끝에 '내가 배운 3가지 교훈'
2주간의 무의미한 삽질 끝에, 저는 3가지 중요한 교훈을 얻었고, 이는 저의 블로그 운영 효율성을 극대화했습니다.
- 권한 문제의 90%는 소유권 문제다:
chmod(권한)보다chown(소유권)을 먼저 의심하고 진단하는 습관을 들였습니다. 이 순서가 문제 해결 시간을 획기적으로 줄여주었습니다. - FTP 대신 CLI/SSH를 활용해야 한다: 복잡한 권한 및 소유권 변경은 FTP가 아닌 명령줄을 통해서만 완벽하고 일관성 있게 적용됨을 배웠습니다.
- 최초 설치 단계에서 소유권을 지정해야 한다: 워드프레스 설치 후 플러그인 등을 설치하기 전에 5단계의
chown명령을 한 번 실행하는 것이 미래의 오류를 예방하는 가장 효율적인 방법입니다.
이 교훈을 통해 저는 이제 오류가 발생하면 4단계 진단(4번 섹션)부터 시작하여 시간을 획기적으로 절약하고 있습니다.
- 공유 링크 만들기
- X
- 이메일
- 기타 앱