2013-01-07 3 views
0

그래서 모든 사용자가 이미지를 동적으로 생성 된 폴더에 업로드 할 수있는 스크립트를 개발하려고합니다.은 mkdir을 사용하여 디렉토리를 만들 수 없습니다.

여기에 제가 작성한 라인이 있습니다.

$newID = 1 
mkdir('uploads/job_images/'.$newID.'/',0755); 

이렇게하면 이미 설정된 "uploads/job_images"안에 폴더가 생성됩니다.

제 문제는 "작업 이미지"권한이 755 또는 766으로 설정되면 디렉토리를 만들지 않을 것이라는 것입니다. 그러나 "job_images"권한을 777로 설정하려고하면 디렉토리를 만들 수 있습니다. 그러나 그들은 777이 보안 위험이라고 말합니다. 권한이 755로 설정되어 있지만 "job_images"권한이 777로 설정된 경우 "job_images"폴더를 만들 수있는 이유는 무엇입니까?

생성 된 폴더에는 "소유자/그룹"이 99/99 (nobody)로 설정되어 있습니다. 그 주인 단체는 괜찮습니까?

질문 :

  1. 나는 777에 "job_images"폴더를 사용하거나 777 괜찮에 떠나지 않고 그것을 할 수 있습니까?
  2. 생성 된 폴더의 소유자를 변경해야합니까? 언젠가 그 폴더를 지울 필요가 있습니다.
  3. 웹 사이트 사용자가 만든 폴더 그룹을 어떻게 기본값으로 설정합니까?
+0

우분투 12.04 작동 safe_mode_gid directive 를 참조하십시오? 99/99이 아니라면 폴더의 소유권을 웹 서버 사용자/그룹에 설정하십시오. – PassKit

+0

더 이상 알지 못합니다. 어떤 허가가 필요합니까? –

답변

0

디렉토리의 소유권을 Apache (또는 코드를 실행하는 모든 소프트웨어/서비스/데몬)로 변경하려면 sudochown을 사용해보십시오. 디렉토리를 만든 사람이라면 sudo를 사용할 필요가 없습니다 (하지만 대부분의 Unix/Linux 시스템에서는 대상 그룹 권한이 있어야합니다).

Numeric Notation of filesystem permissions에 대해 읽어보십시오. 첫 번째 7은 소유자 그룹에 파일 읽기, 쓰기 및 실행 권한이 있음을 나타냅니다. 5는 읽기를 의미합니다. & 쓰기없이 쓰기를 실행하면 새 디렉토리를 만들 수 없습니다.

+0

안녕하세요, 저는 루트 권한이 없습니다. 호스팅 제공 업체의 재 판매자 계정 만 있습니다. 모든 사용자가 새 폴더를 만들 때마다 새로 만든 폴더의 그룹 소유자를 변경해야합니다. –

+0

안녕하세요, 파일 소유자 인 경우 chown 명령을 사용하여 소유자를 변경할 수 있습니다. 대부분의 Unix/Linux 시스템에서는 대상 사용자/그룹 권한도 필요합니다. – Infinity

+0

"5는 쓰기 및 쓰기없이 읽기 및 실행을 의미하므로 새 디렉토리를 만들 수 없습니다." 그러면 폴더가 755로 설정된 경우 폴더 안에 새 디렉토리를 만들 수있는 다른 방법이 없습니까? 나는이 일을 처음 접해서 미안해. –

0

같은 문제 I`ve, PHP 일부 기능을 제한 :

Functions restricted by safe mode 해결책은 /etc/php5/apache2/phi.ini 구성 파일에 지정 = safe_mode_gid을 설정한다.

그것은 내 LAMP 서버/그룹은 웹 서버가 실행되고 어떤 사용자

관련 문제