php目的,php umask(0)的目的是什么
將umask設置為0000 (或僅為0 )意味著新創build的文件或目錄將不具有最初被撤銷的特權。 換句話說,一個零的umask將導致所有文件被創build為0666或世界可寫。 在umask為0時創build的目錄將是0777 。
通常,當你看到umask(0) ,應該直接跟chmod()調用,以明確地將新創build的文件或目錄所需的權限設置為世界可寫以外的權限。
設置umask為零時要小心! 這可能是危險的,并且主要僅用于創build必須稍后由web服務器寫入的文件,當web服務器作為不同的用戶運行時,“真正的”用戶也將需要能夠修改所創build的文件由networking服務器。 否則,系統默認的umask很可能是像0022這樣的文件,而不是文件所有者可寫的。 在這種情況下,如果您以正常的用戶帳戶login到本機,則由PHP下的Web服務器創build的文件將不會被您寫入。
而不是創build世界可寫的文件,通常更好的辦法是更明確地pipe理Web服務器正在寫入的目錄。 如果在目錄中創build的文件應該具有特定的組權限,則可以build議在該目錄上設置sgid位,以便其中的新文件inheritance組的所有權。 需要訪問文件的用戶應該是有權訪問的組的成員。 這比創build世界可讀的世界可寫文件要安全得多。
php > umask(0); // Should get created as 666 php > touch('file1.txt'); // "2" perms revoked from group, others, gets created as 644 php > umask(022); php > touch('file2.txt'); // All revoked (2,4) from group, others, gets created as 600 php > umask(066); php > touch('file3.txt'); -rw-rw-rw- 1 me group 0 Aug 24 15:34 file1.txt -rw-r--r-- 1 me group 0 Aug 24 15:35 file2.txt -rw------- 1 me group 0 Aug 24 15:37 file3.txt
總結
以上是生活随笔為你收集整理的php目的,php umask(0)的目的是什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 樱花开了发朋友圈说说150个
- 下一篇: 动态规划算法php,php算法学习之动态