2015-06-02 202 views
0

我的地方有我的網絡服務器,並從另一用戶的的public_html一個符號鏈接到該文件夾​​的文件夾。爲了集中一些內容的目的。符號鏈接不允許或鏈接目標不可訪問

我完全可以在這個符號鏈接的文件夾中包含文件。 但是,我無法直接訪問文件(例如test.html或test.php)。

如果我嘗試直接訪問一個文件我在瀏覽器中得到禁止錯誤,並在日誌文件中我看到:

Symbolic link not allowed or link target not accessible

我已經嘗試過編輯httpconf,因爲我發現在互聯網上,試圖將一個.htaccess文件放在符號鏈接所在的文件夾中,但是目前爲止沒有任何幫助。

附加信息: 我的網絡服務器上運行CentOS版本6.5(最終) 的Apache 2.2.27

權限鏈接文件夾的parentfolder:777個

權限鏈接的文件夾:777

我已經將它們從644設置爲777用於測試目的

請注意,我是一個程序員遇到問題,而不是Linux專家:)

***我還沒有工作解決方案。我可以通過包含它們來使用這些文件,只要不直接調用任何文件圖像,樣式表。我不知道有什麼其他細節可以幫助解決這個問題。 的權限都OK的鏈接,文件夾和parentfolder 更改或者鏈接或文件夾的所有者的確也沒有給在.htaccess任何結果 有FollowSymLinks的文件夾與鏈接,該文件夾的父,目標文件夾,它的目的地文件夾的父母,它似乎都沒有幫助。 我可以不執行文件,真正需要

+0

看看這些文件夾的文件系統權限。 – arkascha

+0

抱歉,不是編程問題。嘗試超級用戶。 –

+0

@arkascha謝謝你,目標文件夾的權限是drwxr-xr-x 5 – LvS

回答

2

原來本身所需要的符號鏈接到由同一個用戶的原始鏈接的文件夾

chown -R username: linkname 
所擁有

這奏效了,我

你可以用

檢查權10
ls -la 

然後,它看起來有點奇怪,看到實際用戶擁有的所有文件,除了由原始用戶擁有的符號鏈接。

希望這可以幫助有類似問題的其他人!

+1

我不得不重新創建符號鏈接,因爲我沒有被允許播放它 – Veger

1

首先我會建議,包括在你的問題的一些細節的。例如。迪爾斯和文件的權限將是有益的,什麼樣的發行等

我的水晶球分析: - 你的Web服務器(Apache)的運行作爲用戶WWW的數據 - 你的PHP運行suexec的用戶A /用戶B 。 - www-data用戶無法訪問該文件,因爲www-data的權限不足或者是父目錄(!)。

你可以這樣做:

$ sudo -u www-data ls -lah /path/to/your/file 

...去看看,你的網絡服務器的用戶看到的內容。

$ ls -lah /path/to/your/file 

...檢查文件設置了哪些權限。 (組/全局可讀?)

$ ls -dlah /path/to/your 

...來檢查父目錄(需要www數據x標誌)的權限,

HTH, 學家

+0

謝謝你的回覆,我會用信息更新我的問題。 我試過了你提供的命令。第一個給我的錯誤:未知的用戶:www-data 第二個命令給了我-rwxrwxrwx 1個基地baseys 21 Jun 2 13:46 test.php – LvS

+0

那麼。這意味着您的網絡服務器用戶不稱爲「www-data」。 Ubuntu/Debian將該用戶稱爲「www-data」。根據您的分類,它可能有不同的名稱,例如WWW運行。用例如sudo cat/etc/passwd,如果你凸輪點名... –

-1

在Apache的配置一個<Directory>塊,或在一個.htaccess文件:

Options FollowSymLinks 
+0

謝謝。我已經嘗試過,但不起作用。 – LvS

+0

我也試過把它放在一個.htaccess文件中,但是這干擾了重寫規則,並在日誌文件中給了我這個錯誤:Options FollowSymLinks或SymLinksIfOwnerMatch已關閉,這意味着RewriteRule指令被禁止 – LvS

+0

'Options FollowSymLinks' doesn 't'干涉'重寫規則。你的錯誤日誌告訴你你的配置有其他錯誤。你必須發佈更多細節。 –