chmod 707 data 해줘도 계속 설치에러나네요

chmod 707 data 해줘도 계속 설치에러나네요

QA

chmod 707 data 해줘도 계속 설치에러나네요

본문

data 디렉토리의 퍼미션을 707로 해줬는데도

설치시...계속 아래 에러메시지가 나오고.. 더이상 설치가 안됩니다 

==========(설치시 에러메시지)============== 

data 디렉토리의 퍼미션을 707로 변경하여 주십시오.
$> chmod 707 data 또는 chmod uo+rwx data
위 명령 실행후 브라우저를 새로고침 하십시오.

===================================== 

아래 보면... 707로 되어있스빈다.

data 의 퍼미션, 소유권정보 :  drwx---rwx.  2 myuser myuser     6  4월 26 05:00 data

서버환경

os : centos7  

DocumentRoot : /var/www/html


html 의 퍼미션, 소유권정보 : drwxr-xr-x. 6 myuser myuser 4096  4월 26 04:59 html

www의 퍼미션, 소유권정보 : drwxr-xr-x.  4 root root   31  4월  5 07:52 www
var 의 퍼미션, 소유권정보 : drwxr-xr-x.  23 root root 4096  4월 26 17:42 var
 

 

이 질문에 댓글 쓰기 :

답변 14

이런 문제는 selinux 관련 문제경우가 있더군요.

아래 순서되로 진행 해 보세요. 설명은 생략합니다.

#chcon -R --reference=/var/www/html /home/설치디렉토리 

# setsebool -P allow_httpd_anon_write=1 

# setsebool -P allow_httpd_sys_script_anon_write=1 

저도 센토스7인데 위와 똑같은 오류가 나옵니다 미치겟어요 ㅎㅎㅎ

원래 일반적으로 서버에서 사용자에게 계정을 생성하게 되면 사용자 이름의 폴더가 생성됩니다.

myuser 라는 사용자를 생성하면

/home/users/myuser 와 같이 생성이 되겠죠.

그럼 그 하위폴더에

/home/users/myuser/www or html 폴더를 만들어서 해당 폴더를 DOCUMENT_ROOT 로 지정을 합니다.

그렇게 하는 이유는 myuser 라는 사용자가 프로그램에서 사용되는 파일이 웹에서 직접 액세스 되지 않는 경로에 있어야 하는 경우도 있기 때문입니다. (스크립트 배치파일 같은)

CI 같은 프레임웍을 사용하는 경우는 system 폴더와 같은 폴더들을 웹에 직접 액세스 되지 않는 경로로 옮기는 것이 좋다는 보안권고도 있구요. 그런 경우가 많습니다.

대개 호스팅서비스를 받아서 FTP 로 접속해보면 해당 사용자는 myuser 폴더에 접근이 되고,

그 안에 www or html 폴더에 넣은 파일이 도메인으로 접속할때 최상위 폴더로 인식이 되는 것이죠. 그와 같은 맥락입니다.

위에 예로 드신 경로가 /var/www/html 로 되어있기 때문에 www 가 myuser 의 홈경로가 되고, html 이 DOCUMENT_ROOT 가 된다고 생각됩니다.

 

www 의 소유권을 myuser 로 변경해보세요.

777로 해보세요.

설치 문제라면.

설치 후 755로 다시 바꾸세요. 

www폴더의 권한을 707로 변경하셨다가 설치후 다시 755로 변경하세요 ^^ 

일반적으로 인터넷 스크립트의 실행은 www-data가 합니다. 이 유저는 apache 유저입니다. 따라서 www-data 유저가 data폴더를 사용하게 하려면 적어도 두 가지를 생각해보세요.

 

1. data 폴더의 권한을 777로 설정하는 방법. 모든 유저가 접근할 수 있으므로 가능해집니다. 하지만 777에 대한 부담이 크다면 다음의 방법을 고려.

 

2. data의 소유주를 www-data로 변경하거나 혹은 상위 디렉토리인 html의 소유주를 www-data로 변경하고 data를 스크립트에 의해 자동 생성하게 하면 됩니다. 그러려면 지금의 data폴더는 삭제해야겠죠.

 

Enjoy Coding!!!

php.ini 파일에서 safe_mode 값을 off 로 설정해 보세요.

웹서버라면, 웹서버상에서 조정을 하세요.​

저도 똑 같은 문제로 고생한 적이 있었는데, 이게 맞던지 잘 모르겠네요..ㅜㅜ

 

1. SELinux disable 

vi  /etc/sysconfig/selinux   
SELINUX=enforcing
=>
SELINUX=disabled 

reboot 

 

2. 방화벽 OFF
systemctl stop firewalld

systemctl stop iptables

systemctl stop ip6tables 

#리부팅 뒤에도 실행 안되게끔

systemctl disable firewalld

systemctl disable iptables

systemctl disable ip6tables 

 

개인적으로는 Selinux 내리는것은 비추천입니다.

 

chown root:root html

답변을 작성하시기 전에 로그인 해주세요.
전체 123,612 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT