CHMOD 함수의 기본 구문은 다음과 같습니다.
<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">$mode</span></span><span>);
</span></span>$ filename : 수정 해야하는 파일 또는 디렉토리의 경로.
$ 모드 : 대상 권한의 숫자 값 (Octal 형식 일 수 있음) 또는 RWX 와 같은 상징적 표기법을 사용할 수 있습니다.
예 :
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'example.txt'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">chmod</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-number">0644</span></span><span>); </span><span><span class="hljs-comment">// 설정example.txt파일의 권한은 다음과 같습니다644</span></span><span>
</span></span>이 예에서 0644 는 파일 권한의 숫자 표현으로 파일 소유자가 파일을 읽고 쓸 수 있으며 다른 사용자는 읽기 권한 만 가지고 있음을 나타냅니다.
Linux 및 Unix 시스템에서 각 파일 또는 디렉토리의 권한은 파일 소유자 (소유자), 사용자 그룹 (그룹) 및 기타 사용자 (기타)의 세 부분으로 구성됩니다. 각 부품의 권한은 다음과 같이 별도로 설정할 수 있습니다.
r (읽기) : 권한을 읽고 사용자가 파일 내용을 볼 수 있음을 나타냅니다.
w (쓰기) : 쓰기 권한, 사용자가 파일 내용을 수정할 수 있음을 나타냅니다.
x (execute) : 실행 권한, 사용자가 파일을 실행할 수 있음을 나타냅니다 (스크립트 또는 프로그램 인 경우).
권한 값은 파일 소유자, 사용자 그룹 및 기타 사용자의 권한을 나타내는 3 자리 10 홀 번호입니다. 예를 들어, 0644는 다음 을 의미합니다.
6 (rw-) : 파일 소유자는 권한을 읽고 쓰지 만 실행 권한이 없습니다.
4 (r-) : 사용자 그룹은 권한을 읽었습니다.
4 (r--) : 다른 사용자는 읽기 권한이 있습니다.
숫자 모드에서 파일 권한은 3 개의 옥탈 번호로 지정됩니다. 각 번호는 파일 소유자, 사용자 그룹 및 기타 사용자의 권한을 나타냅니다. 예를 들어:
777 : 모든 사용자는 권한을 읽고 쓰고 쓰고 실행했습니다 (매우 높은 권한).
755 : 파일 소유자에게는 모든 권한이 있으며 다른 사용자는 읽고 실행할 수 있습니다 (일반적으로 실행 파일 또는 디렉토리에서 사용).
644 : 파일 소유자는 읽고 쓸 수 있지만 다른 사용자는 읽을 수 있습니다 (종종 일반 파일에서만 사용).
상징적 인 방법은 문자와 기호를 사용하여 R이 읽기 권한을 나타내고 W는 쓰기 권한을 나타내고 X는 실행 권한을 나타냅니다. 권한을 설정할 때 다음 기호를 사용할 수 있습니다.
+ : 권한을 늘리십시오.
- : 권한 삭제.
= : 권한을 설정하십시오.
예 :
<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">// ~을 위한example.txt文件설정권한~을 위한755</span></span><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-string">'u+x'</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">'example.txt'</span></span><span>, </span><span><span class="hljs-string">'o-w'</span></span><span>); </span><span><span class="hljs-comment">// 다른 사용자로부터 쓰기 권한을 삭제합니다</span></span><span>
</span></span>디렉토리의 경우 일반적으로 권한에는 실행 권한 ( x )이 포함되어야합니다. 실행 권한이없는 경우 사용자는 읽기 권한이 있더라도 디렉토리를 입력 할 수 없습니다.
<span><span><span class="hljs-title function_ invoke__">chmod</span></span><span>(</span><span><span class="hljs-string">'example_directory'</span></span><span>, </span><span><span class="hljs-number">0755</span></span><span>); </span><span><span class="hljs-comment">// ~을 위한目录설정755권한</span></span><span>
</span></span>CHMOD 기능은 운영 체제에서 다른 성능을 발휘합니다. Linux 및 UNIX 시스템에서는 파일 권한 제어가 매우 엄격하며 PHP 스크립트는 파일 권한을 성공적으로 수정하기에 충분한 권한이 필요합니다. PHP 스크립트가 웹 서버에서 실행중인 경우 서버 사용자 (예 : www-data)는 대상 파일에서 작동 할 권한이 있어야합니다. PHP 프로세스 사용자에게 충분한 권한이 있는지 확인하십시오. 그렇지 않으면 CHMOD가 실패합니다.
CHMOD 로 전달 된 파일 경로가 올바른지 확인하십시오. 경로가 잘못된 경우 PHP는 파일이나 디렉토리를 찾을 수 없으므로 권한을 수정할 수 없습니다.
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'/path/to/your/file.txt'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">chmod</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-number">0755</span></span><span>);
</span></span>파일 권한을 수정할 때주의를 기울이고 너무 높은 권한을 부담없이 제공하지 마십시오 (예 : 777). 이 권한은 모든 사용자가 파일을 수정, 읽기 또는 실행하여 보안 취약점을 유발할 수 있음을 의미합니다. 일반적으로 파일 권한은 최소 권한의 원칙으로 설정되어야하며 필요한 사용자와 프로그램 만 파일 또는 디렉토리에 액세스 할 수 있습니다.
CHMOD 함수가 성공적으로 실행될 때 true를 반환하고 오류가 있으면 FALSE를 반환하십시오. 실제 응용 분야에서 오류 처리를 결합하여 작동의 성공을 보장 할 수 있습니다.
<span><span><span class="hljs-keyword">if</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">0644</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"권한修改成功!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"권한修改失败!"</span></span><span>;
}
</span></span>