您正在嘗試修復(fù)Web服務(wù)器的權(quán)限問(wèn)題,并在Internet上找到了答案,說(shuō)您需要遞歸修改Web目錄的權(quán)限。
在執(zhí)行此操作之前,請(qǐng)確保您了解chmod -R 777
意味著什么以及為什么永遠(yuǎn)不要將權(quán)限設(shè)置為777。本教程介紹基本的Linux權(quán)限模型以及chmod 777含義。
在Linux中,對(duì)文件的訪問(wèn)由文件許可權(quán),屬性和所有權(quán)控制。
你需要了解Linux文件系統(tǒng)權(quán)限模型,才可以對(duì)文件和目錄的訪問(wèn)限制為僅授權(quán)用戶和進(jìn)程訪問(wèn),從而使系統(tǒng)更安全。
每個(gè)文件均由一個(gè)指定用戶和一個(gè)組擁有,并為三種不同類別的用戶分配權(quán)限。包括文件 所有者 。 組成員 。 其他人 。
有三種文件權(quán)限類型適用于每個(gè)用戶類別,并允許您指定允許哪些用戶讀取文件,寫入文件或執(zhí)行文件。相同的權(quán)限屬性適用于具有不同含義的文件和目錄。
讀取權(quán)限表示文件可讀。例如設(shè)置讀取權(quán)限后,用戶可以在文本編輯器中打開文件??梢圆榭茨夸浀膬?nèi)容。用戶可以使用ls
命令列出目錄中的文件。
寫權(quán)限表示可以更改或修改文件。可以更改目錄的內(nèi)容。用戶可創(chuàng)建新文件,刪除文件,移動(dòng)文件,重命名文件。
執(zhí)行權(quán)限表示可以執(zhí)行文件??梢允褂?code>cd命令切換目錄。可以使用ls
命令查看文件權(quán)限。
ls -l filename.txt
-rw-r--r-- 12 myfreax users 12.0K Apr 8 20:51 filename.txt
|[-][-][-]- [------] [---]
| | | | | | |
| | | | | | +-----------> 7. Group
| | | | | +-------------------> 6. Owner
| | | | +--------------------------> 5. Alternate Access Method
| | | +----------------------------> 4. Others Permissions
| | +-------------------------------> 3. Group Permissions
| +----------------------------------> 2. Owner Permissions
+------------------------------------> 1. File Type
第一個(gè)字符顯示文件類型。它可以是常規(guī)文件-
,目錄d
,符號(hào)鏈接l
或任何其他特殊類型的文件。
接下來(lái)的9個(gè)字符代表文件權(quán)限,三個(gè)三元組,每個(gè)三元組由三個(gè)字符組成。第一個(gè)三元組顯示所有者的權(quán)限,第二個(gè)三元組顯示組的權(quán)限,最后一個(gè)三元組顯示其它人的權(quán)限。
權(quán)限數(shù)字模式
文件權(quán)限可以用數(shù)字或符號(hào)格式表示。在本教程中,我們將重點(diǎn)介紹數(shù)字模式。數(shù)字的權(quán)限模式可以由三到四位數(shù)字組成,范圍從0到7。
使用3位數(shù)字時(shí),第一位代表文件所有者的權(quán)限,第二位代表文件組的權(quán)限,最后一位代表其他用戶的權(quán)限。
寫入,讀取和執(zhí)行權(quán)限的值分別是。r
讀取= 4。w
寫入= 2。x
執(zhí)行= 1。無(wú)權(quán)限= 0。指定用戶類別的數(shù)字權(quán)限是該類別的數(shù)字值的和。
0(0 + 0 + 0)
–無(wú)權(quán)限。1(0 + 0 + 1)
–僅執(zhí)行權(quán)限。2(0 + 2 + 0 )
–僅寫權(quán)限。
3(0 + 2 + 1)
–寫和執(zhí)行權(quán)限。4(4 + 0 + 0)
–僅讀權(quán)限。5(4 + 0 + 1)
–讀取和執(zhí)行權(quán)限。
6(4 + 2 + 0)
–讀取和寫入權(quán)限。7(4 + 2 + 1)
– 讀取,寫入和執(zhí)行權(quán)限。
例如,如果權(quán)限值設(shè)置為750,則意味著文件的所有者擁有讀取,寫入和執(zhí)行許可,文件的組具有讀取和執(zhí)行權(quán)限,而其他用戶則沒有權(quán)限。
相當(dāng)于所有者:rwx = 4 + 2 + 1 = 7。組:rx = 4 + 0 + 1 = 5。其他:rx = 0 + 0 + 0 = 0。
當(dāng)使用4位數(shù)字時(shí),第一位數(shù)字含義分別是setuid = 4,setgid = 2,sticky = 1,無(wú)變化= 0。
接下來(lái)的三位數(shù)與使用三位數(shù)數(shù)字的含義相同。如果第一個(gè)數(shù)字為0,則可以省略,并且該模式可以用3個(gè)數(shù)字表示。數(shù)字模式0755
與755
相同。
要以數(shù)字模式查看文件的權(quán)限,請(qǐng)使用stat
命令。
stat -c "%a" filename
644
chmod 777
設(shè)置文件或目錄的777權(quán)限意味著所有用戶都可以讀取,寫入和執(zhí)行文件或目錄,并且可能會(huì)帶來(lái)巨大的安全風(fēng)險(xiǎn)。
例如,如果將/var/www
目錄的所有文件和子目錄的權(quán)限遞歸更改為777
,則系統(tǒng)上的任何用戶都可以在目錄中創(chuàng)建,刪除或修改文件。
如果您的Web服務(wù)器遇到權(quán)限問(wèn)題,請(qǐng)勿以遞歸方式將權(quán)限設(shè)置為777
,建議將文件的權(quán)限設(shè)置為644
,將目錄的權(quán)限設(shè)置為755
,而不是將權(quán)限遞歸設(shè)置為777
。。
你可以使用chown
命令更改文件所有權(quán),并使用chmod
命令更改權(quán)限。
假設(shè)您的web服務(wù)器以myfreax用戶運(yùn)行的PHP應(yīng)用程序。要設(shè)置正確的權(quán)限,請(qǐng)運(yùn)行以下命令。
只有root用戶,文件所有者才能更改文件的權(quán)限。使用chmod
時(shí)要格外小心,尤其是在遞歸更改權(quán)限時(shí)。
chown -R myfreax: /var/www
find /var/www -type d -exec chmod 755 {} \\;
find /var/www -type f -exec chmod 644 {} \\;
結(jié)論
如果要管理Linux系統(tǒng),了解Linux權(quán)限的工作方式至關(guān)重要。絕對(duì)不要設(shè)置777權(quán)限文件和目錄權(quán)限。777表示任何人都可以使用這些文件做任何事情。
-
Web
+關(guān)注
關(guān)注
2文章
1255瀏覽量
69294 -
Linux
+關(guān)注
關(guān)注
87文章
11212瀏覽量
208723 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
8965瀏覽量
85087
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論