2016-09-21 53 views
5

我對我的VPS在CentOS 7 LAMP stack.I've運行的WordPress隨後this guide設置權限,即我已經運行WordPress的文件權限要求須藤

sudo chown apache:apache -R * ,以確保我的wordpress目錄由apache:apache所有。

我還設置WordPress的目錄和文件權限使用這些命令:

find . -type d -exec chmod 755 {} \;

find . -type f -exec chmod 644 {} \;

(我不得不前綴sudo上面的命令)

通常我管理服務器通過SSH登錄使用myuser,其中myuser屬於apache組,wheel組。

我有3個問題:

  1. 在WordPress目錄中的任何文件CRUD命令仍然需要我sudo前綴的命令,否則我得到一個權限錯誤。由於myuser屬於apacheapache擁有目錄,我很困惑,爲什麼我仍然需要以sudo前綴的命令。
  2. 與問題1類似,任何git命令(如git pull)都要求我在該命令前加上sudo,否則我會收到權限錯誤。
  3. 當我嘗試從我的WordPress儀表板Web界面自動更新主題文件時,出現許可錯誤。有趣的是,我可以通過WordPress儀表板安裝/更新插件,而不會出現任何權限錯誤。

關於我失蹤的任何想法?

+0

我覺得這個已經很少與WordPress本身做的,所以是一個更好的地方根據[幫助文件](http://wordpress.stackexchange.com/help/on-topic)詢問它 –

+0

@MarkKaplun,**主題爲**服務器配置。我想你也可以爭辯說,這是一個通用的服務器配置和管理問題,它不會成爲主題。 – fortuneRice

回答

6

看:What does mode_t 0644 mean?

644 means: 
* (owning) User: read & write 
* Group: read 
* Other: read 

CRUD是寫命令,所以你不能做到這一點。要麼您更改爲664或繼續使用sudo。基本上文件系統上的任何寫入過程都不會被允許,因爲你的用戶不是所有者(事件雖然他在組中)。

3

@fortuneRice,CentOS7默認啓用selinux,這通常是許多難以理解的文件權限錯誤的原因。

我建議如下:

  1. 編輯/ etc/SYSCONFIG/SELinux的
  2. 變化SELINUX =許可(或任何SELINUX在文件中目前設定爲)到SELINUX =禁用
  3. 重新啓動服務器(不只是Apache Web服務器,但整個機器)

禁用SELINUX完全不是一個好主意,therefo如果此過程有效,則應重新啓用SELINUX並修復其配置。

配置SELINUX可以是一個艱鉅的任務,所以我建議你閱讀了關於谷歌如何做到這一點:)

1
chown -R -f user:apache /path of the directory 
+1

最好解釋命令和它將如何解決問題。 – Tushar

+0

你不應該給wordpress許可。只需將wordpress文件夾放在服務器上,並將所有權更改爲用戶(如命令所示) –

+1

好的,[編輯]答案並在答案中添加說明。這樣,未來的讀者可以在答案中看到描述。 – Tushar