2013-07-30 59 views
0

我已經設置了一臺ec2機器來運行應用程序。爲了使我的部署腳本能夠工作,我需要我的部署用戶(ec2-user)具有對某些目錄的寫入權限。我不熟悉linux/unix命令。我正在尋找使用Google的方法。Linux Group權限

所以問題目錄是/ home/ec2-user/uc_social_server/releases。該目錄由Capistrano腳本創建,無論出於何種原因,它使root成爲發行版目錄的所有者,即使腳本以ec2用戶身份運行。一個ls -l命令顯示的根源是所有者,並且所有者和組都具有RWX訪問: enter image description here

我的腳本失敗,因爲它試圖寫入釋放目錄EC2用戶,但沒有許可。

我想如果我創建一個名爲deployers的組,並將ec2-user和root兩者都加入到這個組中,那麼ec2-user將對此目錄擁有rwx權限,因爲ec2-user將屬於與root相同的組,這個目錄的權限是rwx。但那並不奏效。

應該有效嗎?如果不是原因(我對羣體權限的理解可能完全錯誤)?

我該如何給ec2用戶rwx訪問這位導演?

謝謝。

回答

1

運行:

sudo chown -R ec2-user releases ; sudo chgrp -R ec2-user releases 

,或者如果你想離開所有者和組爲root,那麼你可以嘗試運行此:

sudo chmod -R o=rwx releases 

閱讀精細的手工的更多信息,chmodchgrpchown

+0

你能解釋一下這些命令在做什麼嗎?謝謝! – septerr

+0

'chown'更改誰是給定文件的所有者。 'sudo'可以讓你運行命令,就好像你是'root'一樣。 'chgrp'更改給定文件的組所有權; 'chmod'改變給定文件的權限或'訪問模式'。將'-R'傳遞給這些程序會使它們以遞歸方式進行操作,就像遞歸地更改整個目錄的權限一樣。這些程序需要以下參數:'命令行開關(例如'-R')'user | group | mode''文件|目錄' –

+0

謝謝!我應該閱讀手冊頁,而不是讓你解釋它。對不起〜 – septerr

1

的Unix規則#1)不要使用root白白

我建議你只是sudo來根,你希望它是

什麼目錄的所有者和組更改爲
  • 人CHOWN
  • 人chgrp命令