2010-01-24 81 views
0

我在Web服務器中有一個.TXT文件,其權限爲777.那麼其他人可能能夠編輯此文件的內容有哪些更改?內容並不多 - 只是一個數字。有人似乎一直在修改這個文件,因爲這個數字在前幾天消失了!將數據寫入具有777權限的文件

除了我以外沒有人擁有FTP密碼。所以我想知道這是否是允許它的許可?我是一位客戶端腳本程序員,對Linux和權限知之甚少。

+0

我將添加這些數字的含義 - 每個數字是對所有者,組和其他人的讀取,寫入和執行權限。 4是可讀的,6是可讀和可寫的,7是可讀,可寫和可執行的,等等。 – JAL 2010-01-24 03:32:43

回答

3

如果是777,那意味着任何擁有系統帳戶或系統上運行的任何應用程序(包括PHP腳本,甚至是那些除您以外的人擁有的腳本)都可以以任何方式修改該文件。

所以,是的,可能有人對該文件進行修飾。它可能是你的PHP腳本中的一個錯誤消除了數字?

如果可以這樣做,最好將權限降低到644等更嚴格的權限。如果訪問該文件的PHP腳本以擁有該文件的同一用戶身份執行,這仍然可行。許多網絡主機都是這樣配置的,所以你可以做到這一點。 644表示文件的所有者可以讀取和寫入文件,而其他文件只能讀取。

+0

我試過 - 將.txt文件的權限改爲644.但是我的writer.php不能再寫入文件! 從瀏覽器打開writer.php時,它是否以用戶身份執行? 對不起,您能否詳細介紹一下如何解決這個問題? – Yeti 2010-01-24 03:56:33

+0

當Web瀏覽器訪問writer.php時,它會作爲Web服務器用戶標識(或者在某些情況下,PHP用戶,有時與Web服務器用戶相同)執行。由於將txt文件設置爲644會阻止您的PHP腳本工作,這表明Web服務器用戶或用於運行PHP進程的用戶標識與擁有文件的用戶不同。在這種情況下,您必須與您的虛擬主機一起工作才能找出一個解決方案來保護您的文件,以便您不需要設置過多(666/777)權限。 – Jeff 2010-01-24 05:05:17

2

這是最後7個問題。第3個7表示讀/寫/執行系統上任何用戶的權限。對於許多託管提供商而言,640或660對於需要編寫的文件而言足夠安全。

1

任何人都可以在該文件中寫入任何內容,並且該文件可以由任何人執行。如果你從不打算將它作爲腳本,請使用666權限(或更具限制性);如果確實希望它是一個腳本,不要讓任何人修改它(755)。

+0

這只是一個.txt文件。我在裏面儲存了一些信息。當用戶來到這個頁面時,Writer.php寫入這個.txt文件。當我將權限更改爲644時,writer.php不再能夠寫入txt文件。難道我做錯了什麼? – Yeti 2010-01-24 03:58:36

+0

試圖寫入文件的人(用戶ID)不是文件的所有者。您必須決定誰應該擁有該文件,哪個組以及權限應該是什麼。請記住,如果您使用666權限,則文件中的數據不安全;任何人都可以隨時修改該文件,只要他們有權訪問它。 – 2010-01-24 04:40:27