linuxphp目錄許可權
我們的伺服器是這樣做的:
php一般是以apache用戶身份去執行的,把apache加入到存儲你文件的父文件夾屬組里去,然後改該父文件夾許可權為775,這樣屬組成員就有寫的許可權,而apache屬於這個組就可以改寫該目錄下所有文件的許可權,當然,屬組最好不要是root,你可以為該文件夾改個其它普通用戶組。
改apache/php的運行用戶方法不安全,不建議使用。
Ⅱ 為啥linux下web目錄文件許可權為777 但是php無法寫入
虛擬機安裝linux系統,所有許可權都是777的情況下任然無法訪問,這個問題卡了我兩天,最後嘗試了以下這個方法,終於解決了。
解決:關閉SELinux
關閉SELinux的方法:
1. 臨時關閉: 使用命令setenforce 0
2. 永久關閉: 修改/etc/selinux/config文件中設置SELINUX=disabled ,然後重啟伺服器。
相關信息:
SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對於強制訪問控制的實現,是 Linux歷史上最傑出的新安全子系統。在這種訪問控制體系的限制下,進程只能訪問那些在他的任務中所需要文件。SELinux 默認安裝在 Fedora 和 Red Hat Enterprise Linux 上,也可以作為其他發行版上容易安裝的包得到。
對訪問的控制徹底化MAC(Mandatory Access Control)
對於所有的文件,目錄,埠這類的資源的訪問,都可以是基於策略設定的,這些策略是由管理員定製的、一般用戶是沒有許可權更改的。
TE (Type Enforcement)– 對於進程只賦予最小的許可權
Te概念在 SELinux里非常的重要。它的特點是對所有的文件都賦予一個叫type的文件類型標簽,對於所有的進程也賦予各自的一個叫 domain的 標簽。Domain標簽能夠執行的操作也是由access vector在策略里定好的。
domain遷移 –防止許可權升級
對於用戶只賦予最小的許可權
Ⅲ 求助;Linux下如何設置某個文件夾內的PHP文件為不可執行許可權
linux
下的chmod
命令可以實現你想要的功能。
這是一個授權命令
簡單的說
基本許可權就3種
讀
寫
執行
r
w
x
4
2
1
chmod
666
文件夾名稱
-R
-R
表示遍歷這個文件夾所有文件跟目錄
這樣就可以設定所有用戶對
這個文件夾以及這個文件夾下所有文件
只能進行讀寫操作
且不能執行。
chmod
333
文件夾名稱
-R
這樣這個文件夾就只剩
寫跟可執行的許可權
且無法讀取。
或者可以使用
chmod
+x
文件夾名稱
或者
-x
來設定
許可權
可執行與不可執行
其他許可權一樣。
Ⅳ linux環境,PHP文件存在且目錄以及文件許可權已經開到最大了file_exists仍然為fals
上代碼和文件實際路徑,多半是路徑沒配叢搞對,要搞清楚相對廳乎路徑和培伏櫻絕對路徑,還有別把系統根目錄和站點根目錄搞混了。
Ⅳ 關於Linux如何設置某個文件夾內的PHP文件為不可執行許可權
你這么想嘛首先,完全操作的許可權是 7如果你要去年去掉執行許可權,那麼就減1就是6啦因此設定一個文件夾(包括子文件),可讀可寫,那麼命令就是chmod -R 666 [目錄名]為什麼是3個6呢,第一個6代表這個文件的所屬用戶,這二個6代表,用戶所屬的組,第三個則表示其它用戶!下面舉個實例,我要把 /var/www/data 目錄的所有文件改為當前用戶具有全部許可權,用戶組和其它用戶不可執行,那麼命令就是chmod -R 766 /var/www/data如果執行命令時出現錯誤就在前面加個sudo sudo chmod -R 766 /var/www/data 同理,要禁止一個文件不能寫入的話,7-2=5so chmod -R 755 /var/www/data
Ⅵ 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創建目錄許可權
php創建一個有讀寫許可權的目錄,使用以下代碼,不要直接使用mkdir函數指定許可權,以避免系統umask的影響
mkdir('./xw/'); //創建名為'xw'的目錄
chmod('./xw/',0777);//設置目錄許可權為0777
Ⅷ php 上傳文件目錄許可權設置
linux 下,設置該目錄許可權為0777,或者命令行 chmod 777 文件或目錄
Ⅸ php創建文件夾,linux中還是許可權755,怎麼辦
一般都是由於新建用戶許可權不夠導致。Linux 非root用戶不能創建目錄的解決辦法:有些時候安裝應用,需要新建一個用戶,用戶建完之後,發現在常見的目錄(/home)下面不能建立目錄,必須求助於root用戶,建立完畢,例如建立一個目錄ubsadm。 這個時候/home/ubsadm 目錄存在。切換到應用用戶(例如為:ubsadm) 這個時候主目錄應該為/home/ubsadm,發現用touch、mkdir等命令無法創建文件/文件夾。 很頭疼。這個時候需要看下ubsadm目錄的屬性:發現目錄的屬主和組都是root 這個時候要使用root用戶下的chown命令來改變屬組。chown -R ubsadm:users /home/ubsadm這個時候注意,請盡量不要使用sudo命令提權來執行,雖然可能成功,但是對管理會造成混亂。也不要試圖使用usermod命令去改變ubsadm組為root執行完畢之後,使用ubsadm登陸,即可實現創建用戶成功。
Ⅹ php在linux下目錄許可權的問題
http 伺服器程序跑的 php 代碼,所以這個文件的所有者是 http 伺服器所跑的用戶名和組名。
所以你新建的文件為 daemon 所有者,群組是 daemon 是正確的。因為他是 http 伺服器程序建立的,自然所有者為 http 伺服器程序所運行的所有者。
之所以 http 伺服器程序不跑 root 或者某個現實用戶的 ID ,那是安全考慮。不然你的 php 代碼被黑,你的整個系統,或者某個用戶就不保了。
從這個來看,紅旗的伺服器程序是用 daemon 用戶跑的。最安全的辦法是每個服務都單獨跑一個用戶 ID ,這個 ID 沒有任何許可權,也不加入其他的組從而保證系統絕對安全,好像 RHEL/SUSE 都是這么跑到。