2017-12-29 13 views
1

CentOS 7, php5.4 - 쉘 액세스.php mkdir 허가 문제

/홈/탐/public_html을/.../집에서

모든 폴더와 파일을 탐이다 : 탐과 755

참고 MyUser가 visudo를 모든 priv로 얻었다.

문제 :

PHP 스크립트에서

(/ 홈/탐/public_html을), 0755을, 진정한 만들어라 (mkdir)하려고); 경고 : mkdir() : 권한이 거부되었습니다 ... 777에 가려고했지만 아직 작업하지 않았습니다. 또한 모든 파일을 루트로 변경했지만 작동하지 않았습니다.

echo whoami; -> apache

'whoami'가 톰 인 것을 어떻게 바꿀 수 있습니까? 나는 이것이 최선의 해결책이라고 생각합니다.

P. php 이전 버전을 잘 알고 있지만이 시점에서는 업그레이드 할 수 없습니다.

+1

귀하의 경우 사용자는 디렉토리를 생성하려고 시도하는 아파치이며 따라서 권한 거부 오류가 표시됩니다. –

+0

오른쪽. 그렇다면 어떻게 사용자 '아파치'를 사용자 'toms'로 변경할 수 있습니까? – TomSjogren

답변

1

아파치 사용자에게 소유권 변경 시도 중. 해당 CentOS는 apache이어야하며 소유자에게 쓰기 권한을 부여해야합니다.

sudo chown apache:apache /home/toms/public_html/ 
chmod 0755 /home/toms/public_html/ 
+0

chown www-data : www-data가 나를 준다 : chown : 유효하지 않은 사용자 : 'www-data : www-data' – TomSjogren

+0

CentOS에 대한 내 대답을 업데이트했습니다. 'cut -d : -f1/etc/passwd'에 의해 사용 가능한 모든 사용자 목록을 얻을 수 있습니다. 'apache '가 그들 중 하나인지 확인하십시오. – 73ey

+0

sudo chown apache : apache/home/toms/public_html/did not 도움. 또한 재귀 적으로 동일한 변경을 시도했습니다. 나는 toms 그룹에 apache를 추가했는데 toms는 visudo를 얻었지만 아직 갈 수는 없다. 또한 php가 CGI가 아닌 아파치 API를 통해 실행되어야 함을 언급해야합니다. – TomSjogren

0

권한 문제가 해결 :

PrivateTmp이

(이 기본적으로 true로 설정되어) 거짓 마무리 = 세트

/usr/lib/systemd/system/httpd.service에서 :

systemctl의

systemctl httpd를 재시작을 데몬 - 다시로드