2013-03-22 193 views
2

我已經在網絡上搜索可能的解決方案,但它似乎讓我越來越陷入困境。通過FTP創建的文件不能通過FTP刪除

一旦PHP創建的文件無法刪除文件,可刪除同一目錄中的其他文件。 如果一個目錄是由PHP創建的,整個目錄不能被FTP使用,我可以看到該目錄中的文件,但不能刪除,修改或上傳到該目錄。

我在這裏看到很多這些問題,但大多數都涉及權限問題,在這種情況下,所有權限,umask和屬性都與通過FTP可以刪除的文件相同。

我也認爲它可能是文件正在使用,但事實並非如此,(lsof結果爲空,殺死apache和nginx,通常釋放文件也沒有幫助)。

服務器運行PLESK 11.0.9 FTP服務器是ProFTPD。

這是由PHP,PLESK引起的一些限制還是它在ProFTPD本身?

我希望你能幫助我,因爲我很沮喪。 如果您有任何問題可以幫助回答這個問題,請隨時提問:)。

[編輯] 一些更多的細節爲什麼我認爲這不是一個權限問題。

[[email protected] domains]# lsattr 
-------------e- ./test 
-------------e- ./test2 

[[email protected] domains]# ls -als 
total 32 
4 drwxrwxrwx. 7 user0041 psacln 4096 Mar 22 06:41 . 
4 drwxr-x---. 12 user0041 psaserv 4096 Mar 22 07:28 .. 
4 drwxrwxrwx. 2 user0041 psacln 4096 Mar 22 06:30 test 
4 drwxrwxrwx. 2 user0041 psacln 4096 Mar 22 06:34 test2 

[[email protected] domains]# lsof test 
[[email protected] domains]# 

我不能做到通過FTP目錄測試什麼,但我可以用test2的

測試使用PHP的mkdir命令創建的目錄做任何事情,而測試2已經通過ssh創建,已被授予正確的用戶。

而且我刪除了一些不相關的條目從輸出關於用戶的proftpd的運行

更多信息登錄時:

[[email protected] domains]# ps aux | grep ftp 
10000  8508 0.5 0.0 152192 3684 ?  SNs 08:37 0:00 proftpd: user0041 - x: IDLE 
[[email protected] domains]# cat /etc/passwd | grep 10000 
user0041:x:10000:505::/var/www/vhosts/domain.ltd:/bin/false 

出於保護隱私的問題我已經改變了域名domain.ltd。

回答

1

看起來你的FTP用戶沒有權限刪除PHP運行的用戶創建的任何東西。您需要就此與您的託管公司聯繫。

+0

嗨,我已經添加了信息,爲什麼我不認爲這是一個權限問題。 – Identz 2013-03-22 14:41:02

0

很可能是用戶權限問題。但它可以幫助,如果你張貼一些用例更詳細的描述你到底在做什麼(文件名,過程,...)

+0

我已經添加了一些更多的信息,如ftp進程。 – Identz 2013-03-22 14:46:21