簡體   English   中英

用戶屬性在廚師配方的bash資源中不起作用

[英]User attribute not working in bash resource of chef recipe

我試圖以網格用戶身份運行一個命令。

代碼1不起作用。 授予權限不可用錯誤。

代碼2正在工作。 有什么問題

代碼1

bash "start ora.cssd" do    
    code <<-EOH
        /u01/app/grid/11.2.0.4/bin/crsctl start resource ora.cssd -init
    EOH
    user "grid"
end

代碼2

bash "start ora.cssd" do
    code <<-EOH 
        sudo su - grid -c "/u01/app/grid/11.2.0.4/bin/crsctl start resource ora.cssd -init"
    EOH
end

我不明白為什么bash無法在代碼1片段中以網格用戶的身份運行該命令

代碼1片段的確切錯誤日志:

Recipe: Oracle11G::startGridservices
  * execute[start ora.cssd] action run[2015-04-21T14:31:43+00:00] INFO: Processing execute[start ora.cssd] action run (Oracle11G::startGridservices line 4)

================================================================================
Error executing action `run` on resource 'execute[start ora.cssd]'
================================================================================


Errno::EACCES
-------------
Permission denied - /u01/app/grid/11.2.0.4/bin/crsctl start resource ora.cssd -init

========================

我以root用戶運行了以上命令,但沒有出現拒絕權限的問題。

su -c“ /u01/app/grid/11.2.0.4/bin/crsctl啟動資源ora.cssd -init”網格

CRS-5702:資源'ora.cssd'已經在'ip-10-10-10-10'上運行CRS-4000:命令啟動失敗,或由於錯誤而完成。

也許您的問題是您忘記設置組:

bash "start ora.cssd" do    
    code <<-EOH
        /u01/app/grid/11.2.0.4/bin/crsctl start resource ora.cssd -init
    EOH
    user "grid"
    group "grid"
end

我不確定,但是也許腳本可以由grid組運行,但不能由用戶grid 類似於以下內容:

-rwxr-x--- 1 otheruser grid SOMEDATE /u01/app/grid/11.2.0.4/bin/crsctl

我的意思是, su會同時更改用戶和組。 而且, bash資源示例並非如此,您忘記了設置組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM