2017-01-30 58 views
1

我試圖通過小型部署程序腳本在服務器上創建目錄,但shell顯示權限被拒絕如何創建沒有root權限的目錄?

的命令是:

mkdir -p /monit && chown ubuntu: /monit && chmod u+w . /monit 

和錯誤是:

Mkdir: unable to create directory "/ monit": Permission denied 

queue 'echo "-----> Create Monit dir"' 
queue echo_cmd "mkdir -p #{config_path}/monit && chown #{user}:#{group} #{config_path}/monit && chmod u+w . #{config_path}/monit" 
+0

爲什麼輸出中有空格?另外,如果您要在根目錄下創建目錄,則需要通過'sudo'或其他方法使用'root'。 – tadman

+0

@tadman空間來自參數隊列'echo'-----> Create Monit dir'' queue echo_cmd「mkdir -p#{config_path}/monit && chown#{user}:#{group}#{config_path }/monit && chmod u + w。#{config_path}/monit「 monitored.each do | p | path =「#{config_path}/monit /#{p}」 queue echo_cmd「mkdir -p#{path} && chown#{user}:#{group}#{path} && chmod u + w。#{路徑}「 – japoowf

+0

@tadman:你說得對。另外,「Mkdir」有一個大寫* M *。 OP沒有使用複製和粘貼來顯示錯誤消息,或者消息不是來自此語句。我想這是前者。 – user1934428

回答

3

如果您沒有權限,那麼你沒有權限。您可以:

  • 在別處創建文件。
  • 以不同的用戶身份(通過sudo,su或以他們身份登錄)運行該命令,該用戶具有適當的權限。
  • 調整封閉目錄的權限(但請注意這樣做,因爲/和其他地方有正當理由的權利)。
+0

我有權限。但我從部署腳本創建 queue'echo「-----> Create Monit dir」' queue echo_cmd「mkdir -p#{config_path}/monit && chown#{user}:#{group}# {config_path}/monit && chmod u + w。#{config_path}/monit「 monitored.each do | p | path =「#{config_path}/monit /#{p}」 queue echo_cmd「mkdir -p#{path} && chown#{user}:#{group}#{path} && chmod u + w。#{路徑}「 – japoowf

+0

@japoowf - 如果您的問題是關於您的腳本,請將您的腳本包含在您的問題中。不要在評論中加入這樣的內容 - 格式非常糟糕,而其他人則會錯過相關細節。 – ghoti

相關問題