新聞中心
如何使用chmod修改文件夾權(quán)限
Chmod是什么?這是一個(gè)linux系統(tǒng)的權(quán)限設(shè)置命令。我們要修改站點(diǎn)目錄文件權(quán)限,我們就可以用chmod這個(gè)命令進(jìn)行修改。然而,使用php虛擬主機(jī)的用戶是沒(méi)有服務(wù)器管理權(quán)限的,那么我們修改文件權(quán)限該怎么做類?我們一般的做法是: A、使用FTP工具自帶chmod功能,直接使用工具自帶的權(quán)限設(shè)置功能,就可以完成設(shè)置。其原理,也是使用chmod命令進(jìn)行賦權(quán)。這個(gè)是我們最常用的方法。 B、? 使用php代碼,通過(guò)php腳步中調(diào)用chmod,來(lái)實(shí)現(xiàn)對(duì)文件夾或文件的權(quán)限設(shè)置。這就是我們今天教程中要重點(diǎn)說(shuō)明的地方。 無(wú)憂主機(jī)(www.gle-technology.com)小編將用drupal來(lái)詮釋chmod命令的使用,并通過(guò)翻譯一篇drupal官方技術(shù)文檔來(lái)說(shuō)明,希望能夠讓您深刻了解chmod的應(yīng)用。 譯文: Drupal 6.x版本的話是可以使用Take_control模塊來(lái)修改web服務(wù)器上文件/文件夾的權(quán)限的。 提醒:使用下文中中提到的腳本來(lái)修改文件/文件夾權(quán)限后,您是無(wú)法撤銷設(shè)置的!所以處理起來(lái)要相當(dāng)相當(dāng)相當(dāng)?shù)男⌒摹? 什么情況下用腳本語(yǔ)言來(lái)修改權(quán)限比較好呢? 1、當(dāng)使用FTP工具修改php虛擬主機(jī)文件夾目錄文件權(quán)限失敗。 2、當(dāng)您在“/files”文件夾下,無(wú)法修改drupal腳本創(chuàng)建的目錄。 上面兩種情況的話可能有站長(zhǎng)朋友們遇到過(guò)了,那么現(xiàn)在來(lái)看看解決方案吧。其實(shí)吧,說(shuō)簡(jiǎn)單點(diǎn)呢就是告訴apache服務(wù)器歸還文件/文件夾的管理權(quán)限。但是呢,機(jī)器它不是人,跟機(jī)器聊天當(dāng)然要用它聽(tīng)的懂的語(yǔ)言??!因?yàn)槭钦军c(diǎn)的腳本創(chuàng)建的文件,當(dāng)我們所在的用戶群沒(méi)有權(quán)限的話,別說(shuō)是刪除,移動(dòng)都不太可能吧! 所以呢,適當(dāng)?shù)亩c(diǎn)php腳本語(yǔ)言的命令行對(duì)我們來(lái)說(shuō)是個(gè)不錯(cuò)的選擇,因?yàn)槲覀兛梢院蜋C(jī)器溝通了!讓它干什么,它就干什么!而我們要做的就是上傳并運(yùn)行,當(dāng)然運(yùn)行完后要移除,這個(gè)大家都懂的。下面我們就用php代碼中應(yīng)用chmod命令的實(shí)例:
<?php `chmod -R a+w sites/default/files`; ?>運(yùn)行上面php腳本后的效果就是在您所在的群組的用戶都擁有了對(duì)...sites/default/files下所有文件(包括文件夾)的寫和刪除權(quán)限,但實(shí)際操作中當(dāng)然可以按照您自身的需要看定義。 如果說(shuō)上面代碼對(duì)文件夾的操作范圍太小,而我們心里又想把站點(diǎn)上的所有文件改動(dòng)改動(dòng)呢?那就和無(wú)憂主機(jī)小編(www.gle-technology.com)一起帶著邪惡的念頭繼續(xù)看下面一段小代碼。把下圖中的代碼復(fù)制到記事本中保存,并將文件名稱為51php.php。改完后放在網(wǎng)站的根目錄下,并在瀏覽器中輸入http://www.域名.com/51php.php那這個(gè)邪惡的小代碼就會(huì)以遞歸的方式讓您網(wǎng)站的所有文件和文件夾都擁有寫的權(quán)限。
<?php file_fix_directory(dirname(__FILE__)); function file_fix_directory($dir, $nomask = array('.', '..')) { if (is_dir($dir)) { // Try to make each directory world writable. if (@chmod($dir, 0777)) { echo "<p>Made writable: " . $dir . "</p>"; } } if (is_dir($dir) && $handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if (!in_array($file, $nomask) && $file[0] != '.') { if (is_dir("$dir/$file")) { // Recurse into subdirectories file_fix_directory("$dir/$file", $nomask); } else { $filename = "$dir/$file"; // Try to make each file world writable. if (@chmod($filename, 0666)) { echo "<p>Made writable: " . $filename . "</p>"; } } } } closedir($handle); } } ?>注意:上述php腳步使用完后馬上刪除這個(gè)文件。 原文:http://drupal.org/node/34028 純Linux環(huán)境下高端免備案【香港獨(dú)立IP地址】 php空間,僅僅只需199元一年起。商務(wù)中國(guó)域名核心代理直銷50元注冊(cè)國(guó)際頂級(jí)域名
本文地址:http://www.gle-technology.com/drupal/7868.html