본문 바로가기



FTP 자격증명을 입력해주세요. 워드프레스 권한 문제해결



워드프레스 관리자모드 접속 시 문제가 발생하여 아래와 같은 알림판 통보를 받았습니다.

요청한 작업을 수행하려면, 워드프레스는 웹 서버에 접속해야 합니다. 계속하려면 FTP 자격증명을 입력해 주세요. 자격증명을 기억하고 있지 않다면, 웹 호스트에 연락해야 합니다.

Creating the /var/www/html/wp-content/uploads/apollo13_framework_files/css/user.css file(responsible for the theme settings) requires access to your FTP account. This is due to the configuration of your server.

 

[원인]

원격접속을 위해서 권한을 건드리면서 기존 디렉터리의 권한들이 뒤틀린 것 같습니다. 이런 일이 흔하지는 않지만 워드프레스를 운영하다 보면 간혹 발생할 수 있는 일이기 때문에 각폴더들의 특징과 기본적으로 어떤 권한을 어떻게 줘야 하는지는 알아두는 게 좋은 것 같다는 생각을 해봅니다.각 폴더별 특징과 구조에 대한 가이드를 보시려면 아래 포스팅을 참조하세요.

워드프레스 디렉터리별 주요 용도와 특징정리 (tistory.com)

 

[해결] 

퍼미션 재설정보안상 중요한 코어디렉터리는 건드리지 않고 주로 변경해야 하는 폴더의 디렉터리 권한만 해당 사용자에 대해서 열어주는 것이 목표입니다.

/var/www/html/wp-content/

 

/var/www/html/wp-content 디렉터리와 그 하위 디렉터리들의 권한을 777로 설정하면 웹 서버, 그룹, 그 외 다른 사용자들이 모두 읽기, 쓰기, 실행 권한을 갖게 됩니다. 이렇게 하면 워드프레스는 해당 디렉터리와 하위 디렉터리에 있는 파일들을 자유롭게 수정할 수 있게 됩니다. 따라서, 워드프레스에서 FTP 정보를 요청하는 문제는 해결될 수 있습니다.

하지만, 이렇게 모든 사용자에게 읽기, 쓰기, 실행 권한을 부여하는 것은 보안상 좋지 않습니다. 777 권한은 모든 사용자가 파일 및 디렉터리를 수정하거나 삭제할 수 있도록 하기 때문에, 해커에게 사이트를 공격할 기회를 제공할 수 있습니다.

보안을 유지하면서 이 문제를 해결하는 더 안전한 방법은, 웹 서버가 실행되는 사용자(예: www-data, apache, nginx 등)를 파일의 소유자 또는 그룹으로 설정하고, 해당 사용자에게만 쓰기 권한을 부여하는 것입니다. 이렇게 하면 웹 서버만이 파일을 수정할 수 있게 되므로, 다른 사용자가 파일을 변경하는 것을 방지할 수 있습니다.

이 작업은 서버의 터미널에서 다음과 같은 명령어를 사용하여 수행할 수 있습니다:

sudo chown -R www-data:www-data /var/www/html/wp-content
sudo find /var/www/html/wp-content -type d -exec chmod 755 {} \;
sudo find /var/www/html/wp-content -type f -exec chmod 644 {} \;

관리자모드에서 테마설치할수 있도록 소유권한 부여

sudo chown -R www-data:www-data /var/www

 

위의 명령어는 www-data를 파일의 소유자 및 그룹으로 설정하고, 디렉터리는 755 권한(소유자는 읽기/쓰기/실행 권한, 그룹 및 그 외 사용자는 읽기/실행 권한), 파일은 644 권한(소유자는 읽기/쓰기 권한, 그룹 및 그 외 사용자는 읽기 권한)을 부여합니다.
이렇게 하면 웹 서버는 필요한 파일을 수정할 수 있게 되며, 동시에 사이트의 보안도 유지할 수 있습니다.

 

[리눅스 접속이 불편하고 어렵게 느껴진]

리눅스의 사용이 불편하게 느껴지시는 분들은 파일질라를 사용해서도 권한설정이 가능한 부분이기 때문에 해당 파일이나 디렉터리 등을 옵션설정으로 적절하게 맞출 수 있으니 참조하시기 바랍니다.