CentOS - 쓰기 권한 문제

CentOS - 쓰기 권한 문제

저는 CentOS 6.4를 실행 중이고 WordPress가 설치되어 있습니다. (조명과 함께)

이제 문제는 WordPress 편집기의 어떤 파일에도 쓰기 변경을 할 수 없다는 것입니다. header.php, style.css 등 Wordpress는 업데이트 버튼이 있어야 할 위치에 다음을 표시합니다. 변경 사항을 저장하기 전에 파일을 쓰기 가능하게 만들어야 합니다.

노트:

  • 이제 Apache는 루트 사용자(기본값)로 실행됩니다.
  • 위의 모든 파일이 위치한 테마 폴더에 대한 권한은 다음과 같습니다.

    drwxrwxr-x. 5 루트 bluegig 4096 7월 7일 17:32 주제

    drwxrwxr-x. 3 루트 아파치 4096 7월 7일 23:15 업로드됨

나는 달렸다수정 775이제 "topic" 및 "upload" 명령이 수행됩니다.chmod 777은 쓰기 권한을 제공하지만 안전하지 않다고 생각합니다. 다른/더 좋은 방법이 있습니까?

(bluegig가 내 도메인 이름인데 왜 거기 있는지는 모르겠습니다...)

어떡해:

  • WordPress에서 읽고 실행할 수 있습니다.
  • WordPress의 파일을 업로드 폴더에 업로드할 수 있습니다.

나는 할 수 없다:

  • WordPress에서 파일을 변경합니다(편집기를 통해).
  • WordPress의 파일을 수정할 수 있도록 쓰기 권한을 활성화하는 방법은 무엇입니까?

WP 내에서 ftp 계정에 로그인하지 않았습니다.

답변1

Apache 설치는 루트로 실행 중인 것처럼 보이지만 실제로는 user 로 실행 중입니다 apache. 다음 파일을 보면 이를 확인할 수 있습니다.

$ grep "^User" /etc/httpd/conf/httpd.conf
User apache

웹 UI를 통해 WordPress를 사용하여 설치를 관리하려는 경우 전체 WordPress 디렉터리는 이 사용자가 소유해야 합니다.

저는 보통 다음과 같이 WordPress용 별도의 디렉터리를 만듭니다.

$ pwd
/var/www
$ ls -l | grep wordpress
drwxr-xr-x. 5 apache apache    4096 Apr 25 19:27 wordpress

WordPress 디렉토리의 내용은 다음과 같습니다.

-rw-r--r--. 1 apache apache      395 Jan  8  2012 index.php
-rw-r--r--. 1 apache apache  5009441 Jan 23 13:40 latest.tar.gz
-rw-r--r--. 1 apache apache    19929 May  6  2012 license.txt
-rw-r--r--. 1 apache apache     9177 Jan 25 11:25 readme.html
-rw-r--r--. 1 apache apache     4663 Nov 17  2012 wp-activate.php
drwxr-xr-x. 9 apache apache     4096 Dec 11  2012 wp-admin
-rw-r--r--. 1 apache apache      271 Jan  8  2012 wp-blog-header.php
-rw-r--r--. 1 apache apache     3522 Apr 10  2012 wp-comments-post.php
-rw-rw-rw-. 1 apache apache     3466 Jan 23 17:15 wp-config.php
-rw-r--r--. 1 apache apache     3177 Nov  1  2010 wp-config-sample.php
drwxr-xr-x. 7 apache apache     4096 Apr 24 20:15 wp-content
-rw-r--r--. 1 apache apache     2718 Sep 23  2012 wp-cron.php
drwxr-xr-x. 9 apache apache     4096 Dec 11  2012 wp-includes
-rw-r--r--. 1 apache apache     1997 Oct 23  2010 wp-links-opml.php
-rw-r--r--. 1 apache apache     2408 Oct 26  2012 wp-load.php
-rw-r--r--. 1 apache apache    29310 Nov 30  2012 wp-login.php
-rw-r--r--. 1 apache apache     7723 Sep 25  2012 wp-mail.php
-rw-r--r--. 1 apache apache     9899 Nov 22  2012 wp-settings.php
-rw-r--r--. 1 apache apache    18219 Sep 11  2012 wp-signup.php
-rw-r--r--. 1 apache apache     3700 Jan  8  2012 wp-trackback.php
-rw-r--r--. 1 apache apache     2719 Sep 11  2012 xmlrpc.php

wordpress.conf file under this directory,나는 또한 일반적으로 WordPress 관련 Apache 구성을 자체 /etc/httpd/conf.d/`에서 관리합니다.

# wordpress.conf
Alias / "/var/www/wordpress/"
<Directory "/var/www/wordpress/">
Order Deny,Allow
Deny from all
#Allow from 127.0.0.1 192.168.1
Allow from all
AllowOverride all
</Directory>
#RewriteLog "/var/www/wordpress/rewrite.log"
#RewriteLogLevel 3

답변2

(bluegig가 내 도메인 이름인데 왜 거기 있는지는 모르겠습니다...)

왠지 블루기그(blugig)라는 그룹이 있는 것 같다. 다음을 통해 확인할 수 있습니다.

grep bluegig /etc/group

그룹 권한을 사용하는 것은 예를 들어 777을 사용하지 않는 한 가지 방법입니다. 서버가 실행하는 스크립트를 읽기 및 실행 가능하게 하되 쓰기는 불가능하게 하고 싶을 수도 있지만 권한이 없는 관리/개발 사용자( )에게 쓰기 액세스 권한을 부여하고 싶을 수도 있습니다 dave. 서버는 으로 실행되므로 apache파일이 apache가 속하지 않고 에 속한 그룹에 속하고 dave권한이 775인 경우 다음과 같은 결과를 얻게 됩니다(apache는 읽고 실행할 수 있고 dave는 읽고 쓰기 실행을 읽을 수 있음).

/etc/group의 행에 Apache가 언급되어 있지 않으면 bluegig를 그룹으로 사용하거나 새 그룹( groupadd)을 생성할 수 있습니다. 자신을 그룹에 참여시키세요:

usermod -a -G bluegig dave

이제 로그인 이름이 /etc/group 항목 끝에 표시되며 bluegigbluegig 그룹과 동일한 권한을 갖게 됩니다.

관련 정보