【问题标题】:User attribute not working in bash resource of chef recipe用户属性在厨师食谱的 bash 资源中不起作用
【发布时间】:2016-01-28 08:47:15
【问题描述】:

我正在尝试以网格用户身份运行一个命令。

Code-1 不工作。授予权限不可用错误。

code-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 无法在 code-1 sn-p 中以网格用户身份运行该命令

code-1 sn-p 的准确错误日志:

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:命令启动失败,或完成但出现错误。

【问题讨论】:

  • codeuser 关键字的顺序重要吗?你到底得到了什么错误?
  • 两者的主要区别在于第二个是登录shell(su -),它有效地加载了使用环境,第一个与su -c "command " grid相同,继承了厨师环境,所以我高度怀疑你正在运行的脚本需要这个用户的环境变量。但是来自厨师的有效错误日志会有所帮助(可能使用-l debug 来获取更多信息(非常冗长)
  • 我编辑了我的问题,但确实有错误。如果我从命令提示符运行,该特定命令可以与用户网格一起正常工作
  • @SASI 尝试使用su -c "the full command" grid 以root 身份运行它,看看会发生什么(我很确定你会在那里获得访问被拒绝,因为它尝试写入主目录或类似的东西)
  • 正在询问网格用户的密码

标签: ruby bash chef-infra recipe


【解决方案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"
    group "grid"
end

我不确定,但也许grid 组允许该脚本运行,但用户grid 不允许运行该脚本。类似于以下内容:

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

我的意思是,su 改变了用户和组。而您的bash 资源示例并非如此,您忘记设置组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多