오늘 다음 PHP 코드를 발견했습니다.
mkdir($directory, 02777);
chmod($directory, 02777);
나는 PHP를 이해하지만 그 숫자의 첫 번째 부분은 아닙니다. 777 부분은 명확하며 내가 올바르게 이해했다면 0은 8진수를 의미합니다. 그런데 거기 있는 2명은 무엇을 하는 걸까요?
또한 02640으로 변경하면 2는 여전히 무엇이든 수행합니까, 아니면 그 뒤에 오는 내용에 따라 변경됩니까?
답변1
setuid
이 8진수는 , setgid
및 비트로 구성되며 sticky
모두 비교적 복잡한 효과를 갖습니다.
플래그를 설정 2
합니다 setgid
. 디렉터리에 있는 경우 그 안에 생성된 모든 파일은 생성하는 사용자의 기본 그룹 대신 해당 그룹을 상속합니다.
자세한 내용위키피디아.