현재 위치: > 최신 기사 목록> PHP의 Umask 기능은 무엇입니까? 기능 및 기본 사용 방법에 대한 자세한 설명

PHP의 Umask 기능은 무엇입니까? 기능 및 기본 사용 방법에 대한 자세한 설명

gitbox 2025-06-27

PHP에서 Umask () 함수는 파일 및 디렉토리를 작성할 때 기본 권한 마스크를 설정하는 데 사용됩니다. 간단히 말해서 Umask는 시스템에서 새로 만든 파일 또는 디렉토리에 대한 권한을 제어합니다. 이 제품은 UNIX 및 UNIX와 같은 Linux 및 MACOS와 같은 UNIX와 같은 시스템에서 널리 사용되는 도구로서 개발자가 파일의 보안 및 접근성을보다 세분적으로 제어하는 ​​데 도움이 될 수 있습니다.

1. Umask의 기본 개념

UNIX 시스템에서 파일 권한은 사용자 (소유자), 사용자 그룹 (그룹) 및 기타 사용자 (기타)의 세 가지 숫자 세트로 표시됩니다. 각 권한 세트는 read (r), write (w) 및 execute (x) 권한으로 구성되며 일반적으로 다음과 같은 문구 번호로 표시됩니다.

  • 7 = 읽기, 쓰기 및 실행 권한 (RWX)

  • 6 = 읽기 및 쓰기 권한 (RW-)

  • 5 = 권한 읽기 및 실행 (RX)

  • 4 = 읽기 권한 (r--)

  • 3 = 쓰기 및 실행 권한 (WX-)

  • 2 = 쓰기 권한 (W-)

  • 1 = 실행 권한 (x-)

  • 0 = 허가 없음 (---)

Umask () 함수를 사용하는 경우 마스크 값을 전달하여 시스템의 기본 권한 설정에 영향을 미칩니다.

2. Umask 함수의 작동 방식

PHP에서 Umask () 함수의 기능은 현재 파일 생성 마스크를 설정하거나 가져 오는 것입니다. Creation Mask는 PHP가 새 파일 또는 디렉토리를 작성할 때 기본 권한 값이 "비트 바이트"(및) 작업이면 최종 파일 권한을 얻는 것으로 결정합니다.

예를 들어, 운영 체제의 기본 권한은 777 (즉, 모든 사용자가 읽기, 쓰기 및 실행 권한을 가지고 있음)이며, UMASK ()022 로 설정되며, 새 파일 또는 디렉토리의 권한은 755 (즉, 사용자가 읽기, 쓰기 및 실행 허가를 받았으며, 다른 사람들은 읽기 및 실행 투과를 받았으며, 쓰기가 제거되었습니다).

3. Umask 함수의 구문

 <span><span><span class="hljs-title function_ invoke__">umask</span></span><span>([</span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$mask</span></span><span>]);
</span></span>
  • $ 마스크 : 설정할 파일 권한 마스크를 나타내는 선택적 정수 값입니다. 인수가 전달되지 않으면 Umask ()는 현재 마스크 값을 반환합니다.

4. Umask를 사용하는 방법?

4.1 파일 생성 마스크를 설정하십시오

파일을 만들 때 권한이 몇 가지 규칙을 따르도록 원한다면 umask ()를 사용하여 설정할 수 있습니다. 예를 들어, 파일 생성을 설정하려면 파일 소유자 만 읽기, 쓰기 및 실행 권한을 허용하는 반면 다른 사용자는 파일 만 읽을 수 있으므로 마스크를 0770 으로 설정할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-title function_ invoke__">umask</span></span><span>(</span><span><span class="hljs-number">0770</span></span><span>);
</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">"example.txt"</span></span><span>, </span><span><span class="hljs-string">"w"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">fwrite</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-string">"This is a test."</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

이 예에서 생성 된 파일은 사용자 그룹과 다른 사용자에게 권한을 쓰지 않으며 파일의 소유자 만 쓰기 작업을 수행 할 수 있습니다.

4.2 현재 Umask 값을 얻으십시오

현재 시스템의 파일 마스크 설정을 보려면 매개 변수를 전달하지 않고 UMASK () 에게 호출 할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$current_umask</span></span><span> = </span><span><span class="hljs-title function_ invoke__">umask</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Current umask: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-string">"%04o"</span></span><span>, </span><span><span class="hljs-variable">$current_umask</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

여기서 %04o옥마 마스크 값을 Octal 형식으로 출력하는 데 사용됩니다.

5. 주목할만한 것들

  • Umask () 에 의해 설정된 권한 마스크는 현재 PHP 프로세스에 효과적이며 PHP를 통해 생성 된 후속 파일 및 디렉토리에만 영향을 미칩니다.

  • 프로세스가 완료되거나 PHP 스크립트 실행이 완료되면 Umask () 설정이 손실됩니다. 프로세스가 종료되면 Umask () 설정이 시스템의 기본값으로 복원됩니다.

  • Umask () 함수는 기존 파일 또는 디렉토리에 영향을 미치지 않으며 새로 생성 된 파일 및 디렉토리에만 영향을 미칩니다.

6. 일반적인 응용 프로그램 시나리오

  1. 보안 관리 : 적절한 UMASK를 설정함으로써 관련없는 직원은 파일에 대한 쓰기 작업을 방지하고 민감한 데이터의 보안을 보호 할 수 있습니다.

  2. 로그 파일 관리 : 로그 파일에 대한 엄격한 권한을 설정하여 특정 사용자 또는 프로세스 만 액세스 할 수 있도록하십시오.

  3. 임시 파일 생성 : 임시 파일을 만들 때 다른 프로세스 나 사용자가 해당 파일에 액세스 할 위험을 줄이기 위해 적절한 UMASK를 설정하십시오.

7. 요약

Umask () 는 PHP 개발자가 파일 및 디렉토리를 만들 때 권한 설정을 사용자 정의하는 데 도움이되는 강력한 기능입니다. UMASK를 올바르게 구성함으로써 파일 시스템의 보안 및 관리 가능성을 향상시킬 수 있습니다. 개발 환경에서 Umask () 의 ​​합리적인 사용은 권한 문제를 효과적으로 줄이고 잠재적 인 보안 위험을 피할 수 있습니다.