현재 위치: > 최신 기사 목록> PHP의 CHMOD 함수를 사용하여 Octal 권한 값을 처리하는 방법은 무엇입니까?

PHP의 CHMOD 함수를 사용하여 Octal 권한 값을 처리하는 방법은 무엇입니까?

gitbox 2025-08-25

Linux 및 Unix와 유사한 시스템에서 파일 및 디렉토리의 권한은 3 자리 옥탈 번호 (예 : 0755 , 0644 )로 표시됩니다. 이 권한 값은 파일 소유자, 해당 사용자 그룹 및 기타 사용자의 읽기, 쓰기 및 실행 권한을 제어합니다. PHP에서 chmod () 함수를 사용하면 파일 또는 디렉토리의 권한을 프로그래밍 방식으로 변경할 수 있습니다. 이 기사에서는 chmod () 함수를 올바르게 사용하는 방법을 설명하고 8 월 권한 값을 처리하는 방법에 중점을 둡니다.

1. 기본 구문

 <span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">chmod</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$permissions</span></span><span> )
</span></span>
  • $ filename : 권한이 변경 될 파일 또는 디렉토리의 경로.

  • $ 권한 : 8 월에 표현 된 권한 값 (예 : 0755 ).

함수는 부울 값을 반환하고 성공을 위해 True를 반환하며 실패에 대해 False를 반환합니다.

2. 8 월 권한 값을 이해하십시오

옥탈 허가 값은 일반적으로 3 자리 또는 4 자리 숫자로 작성되며 처음 3 자리는 다음과 같습니다.

  • 첫 번째 장소 : 파일 소유자의 권한

  • 둘째 : 사용자 그룹에 대한 권한

  • 3 위 : 다른 사용자의 권한

각 비트의 권한 값은 다음과 같습니다.

  • 4 = 읽기 (R)

  • 2 = 쓰기 (W)

  • 1 = execute (x)

이 값은 중첩 될 수 있습니다. 예를 들어:

  • 7 = 4 + 2 + 1 = 읽기, 쓰기, 실행

  • 6 = 4 + 2 = 읽기, 쓰기

  • 5 = 4 + 1 = 읽기, 실행

예:

  • 0755 의미 : 소유자는 실행을 읽고 쓸 수 있으며 그룹 사용자 및 다른 사용자는 실행을 읽을 수 있습니다.

  • 0644 의미 : 소유자는 읽고 쓸 수 있으며 그룹 사용자 및 다른 사용자는 읽을 수 있습니다.

참고 : PHP의 권한 값은 8 월을 나타내려면 0으로 시작해야하며 , 그렇지 않으면 소수점으로 해석되어 결과가 잘못되었습니다.

 <span><span><span class="hljs-title function_ invoke__">chmod</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>, </span><span><span class="hljs-number">0755</span></span><span>); </span><span><span class="hljs-comment">// 옳은,0755 10 월입니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">chmod</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>, </span><span><span class="hljs-number">755</span></span><span>);  </span><span><span class="hljs-comment">// 실수,755 소수점으로 취급됩니다</span></span><span>
</span></span>

3. 권한 설정 예제

다음은 몇 가지 일반적인 권한 설정 예입니다.

 <span><span><span class="hljs-comment">// 모든 사람이 읽을 수 있고 쓸 수 있도록 설정합니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">chmod</span></span><span>(</span><span><span class="hljs-string">'script.sh'</span></span><span>, </span><span><span class="hljs-number">0777</span></span><span>);

</span><span><span class="hljs-comment">// 소유자에게 읽고 읽습니다,다른 사람들 만 읽습니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">chmod</span></span><span>(</span><span><span class="hljs-string">'config.ini'</span></span><span>, </span><span><span class="hljs-number">0644</span></span><span>);

</span><span><span class="hljs-comment">// 소유자에게 읽고 읽습니다执行,그룹 사용자 및 기타 사용자는 읽기 전용 실행입니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">chmod</span></span><span>(</span><span><span class="hljs-string">'public/index.php'</span></span><span>, </span><span><span class="hljs-number">0755</span></span><span>);
</span></span>

4. FilePerms ()와 함께 권한보기 ()

FilePerms () 함수를 사용하여 현재 파일 권한을 가져 와서 decoct ()를 사용하여 Octal 형식으로 변환 할 수 있습니다.

 <span><span><span class="hljs-variable">$perms</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fileperms</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-title function_ invoke__">decoct</span></span><span>(</span><span><span class="hljs-variable">$perms</span></span><span>), -</span><span><span class="hljs-number">4</span></span><span>); </span><span><span class="hljs-comment">// 출력 권한 후4비트 10 월</span></span><span>
</span></span>

이는 허가 설정이 적용되는지 디버깅하고 확인하는 데 매우 도움이됩니다.

5. 주목할만한 것들

  1. PHP 스크립트에는 대상 파일 권한을 수정할 수있는 권한이 있어야합니다 . 그렇지 않으면 chmod ()가 실패합니다.

  2. 일부 시스템에서 디렉토리 권한은 파일 액세스에도 영향을 줄 수 있습니다 .

  3. 임시 파일 또는 디버깅 단계가 아닌 한 0777 권한을 사용하지 마십시오 . 제작 환경에서는 파일이 모든 사용자에게 쓰기 권한을 열지 않도록하십시오.

결론

PHP에서 CHMOD () 함수 사용, 특히 옥탈 권한 값의 처리는 서버 파일 권한을 관리하고 안전한 웹 애플리케이션을 구축하는 데 중요합니다. 대부분의 파일 액세스 및 보안 문제는 옥탈 형식을 염두에두고 권한을 올바르게 할당함으로써 피할 수 있습니다.