今天發現如下PHP程式碼:
mkdir($directory, 02777);
chmod($directory, 02777);
我了解 PHP,但不了解這些數字的第一部分。 777 部分很清楚,如果我理解正確的話,0 只是意味著它是八進制。但是裡面的2有什麼作用呢?
另外,如果我將其更改為 02640,2 是否仍然會執行它所做的任何操作,或者它會根據其後的內容而更改嗎?
答案1
setuid
這個八進制數字由、setgid
、位組成sticky
,其作用比較複雜。
設置2
標誌setgid
。當存在於目錄中時,在該目錄中建立的所有檔案都會繼承其群組,而不是建立使用者的主要群組。
更多關於維基百科。