php設置文件許可權
我們的伺服器是這樣做的:
php一般是以apache用戶身份去執行的,把apache加入到存儲你文件的父文件夾屬組里去,然後改該父文件夾許可權為775,這樣屬組成員就有寫的許可權,而apache屬於這個組就可以改寫該目錄下所有文件的許可權,當然,屬組最好不要是root,你可以為該文件夾改個其它普通用戶組。
改apache/php的運行用戶方法不安全,不建議使用。
⑵ 求助;Linux下如何設置某個文件夾內的PHP文件為不可執行許可權
linux
下的chmod
命令可以實現你想要的功能。
這是一個授權命令
簡單的說
基本許可權就3種
讀
寫
執行
r
w
x
4
2
1
chmod
666
文件夾名稱
-R
-R
表示遍歷這個文件夾所有文件跟目錄
這樣就可以設定所有用戶對
這個文件夾以及這個文件夾下所有文件
只能進行讀寫操作
且不能執行。
chmod
333
文件夾名稱
-R
這樣這個文件夾就只剩
寫跟可執行的許可權
且無法讀取。
或者可以使用
chmod
+x
文件夾名稱
或者
-x
來設定
許可權
可執行與不可執行
其他許可權一樣。
⑶ php網站文件目錄許可權如何開
將許可權設置成777就可以了啊。chmod 777 【文件名】
「777」代表許可權,對應rwdrwdrwd,從左往右第一位『7』代表屬主的許可權對應第一組『rwd』,r標識可以讀,w代表可以寫,x代表可以執行。
第二位『7』代表屬組的許可權,第三位『7』代表所有人的許可權。例如只允許屬主讀寫執行賦予700許可權對應rwd許可權。也可以使用a、u、字母表示許可權,比如chmod a+x 【文件名】 是賦予任何人執行的許可權,chmod a+r 【文件名】是賦予所有人讀得許可權,chmod a+w 【文件名】是賦予所有人寫的許可權,等等。
不過設置777不安全,最好設置成可讀就可以了,744應該可以。
⑷ linux如何設置php創建文件的默認許可權
可以使用php代碼設置創建文件的umask值:
<?php
exec('touch /tmp/b1');$oldmask=umask(0);exec('touch /tmp/b2');
umask($oldmask);?>
參考:http://www.php.net/manual/zh/function.umask.php
⑸ 用PHP對文件夾進行訪問許可權設置
把這個文件夾放到網站根目錄以外的目錄,這樣通過url就訪問不到了。
然後用php來讀取並輸出文件里的內容,詳細方法參考php支持斷點續傳用的代碼。
⑹ 如果php需要在某文件夾下創建文件,請把該文件的許可權全部設置:即可都可寫和可執行777 什麼意思 求指教
如果php需要在某文件夾下創建文件,請把該文件夾 <- 你這里漏了個字吧 的許可權全部設置
linux系統下的許可權管理模式,777表示所有用戶都具有對該文件夾的完整許可權。windows不要考慮這個問題。
有疑問請追問,沒有請採納
⑺ PHP寫入文件許可權問題
首先,fopen不是「寫入文件」。
設777是文件系統的用戶許可權。php打開文件,除了受文件系統的限制,還受apache和php本身安全性限制。例如,apache限定了訪問許可權只限於/www,而你要操作/log的話,是不可能的,盡管/log里文件系統設了777。還有,在手冊里fopen里有說「如果激活了
安全模式
或者
open_basedir
則會應用進一步的限制。」希望對你有幫助。
⑻ php以fastCGI的方式運行時文件系統許可權問題及解決方法
在IIS7.0上以FastCGI方式配置好PHP運行環境,測試可以正常運行PHP程序後,將PHP程序部署上去,導入程序原來的數據和配置信息。很快就有問題出來啦下面我們就詳細記錄下。
今天准備將一個php
demo放在IIS下運行,網站在IIS下的配置是這樣的:
應用程序池是集成模式下的.net
framework
2.0(2.0或4.0沒什麼關系,因為php以fastCGI的方式在跑),
應用程序池標識配置為IIS內置的NETWORKSERVICE,
使用的認證方式為匿名身份驗證。
打開本地的網站,訪問php頁面,
出現了500錯誤。
好吧,是許可權問題,最簡單的解決辦法是把C:的許可權設成Everyone,
並允許完全控制:
重新訪問php頁面,成功了:
上面的方法是夠簡單,但也太不安全了,平時本地搭個demo這樣做沒問題,真正上線的時候,這樣做遲早出問題的。
於是重新設置,把該目錄下的只讀許可權賦給NETWRORKSERVICE帳號再試一下
不過問題還是沒有解決,訪問的時候,出現了401錯誤
錯誤信息中包括顯示登錄用戶為匿名,檢查了網站下的身份驗證(再點擊
匿名身份驗證->編輯),原來網站默認情況下,在登錄方法為匿名時,使用的默認登錄用戶為IUSR(就是我們看到的匿名登錄用戶了)
那麼解決辦法就是:
1.
將IUSR設置為C:的讀許可權,類似之前對NETWORKSERVICE的設置。
2.
或選擇使用應用程序池標識即可。
經試驗,方法1與2都成功。
Note:NETWORKSERVICE在IIS7中隸屬於iis_iusers用戶組,之前對NETWORKSERVICE的設置也可以改為對iis_iusers的設置,同樣也可以解決問題,只是許可權被進一步放寬了而已。
以上所述就是本文的全部內容了,希望大家能夠喜歡。