Chef支持以非root用户身份执行:
https://docs.chef.io/ctl_chef_client.html#run-as-non-root-user
但是如果Chef配方需要具有root访问权限的操作,那么它将无效。
安装Java的Chef配方之一是否支持非root安装?我没有在他们的文档中找到回复。
答案 0 :(得分:1)
https://supermarket.chef.io/cookbooks/java, with java_home attribute value set to user accessible directory then it should be good.
答案 1 :(得分:1)
一般来说,大多数社区食谱都希望以root身份运行,因此您可能需要自己编写。
答案 2 :(得分:0)
我已经能够通过在recipes / default.rb中使用以下代码来安装java作为非root用户:
arch = node['java']['arch']
jdk_version = node['java']['jdk_version']
tarball_url = node['java']['jdk'][jdk_version][arch]['url']
tarball_checksum = node['java']['jdk'][jdk_version][arch]['checksum']
bin_cmds = []
java_home = node['java']['java_home']
java_ark 'jdk' do
url tarball_url
checksum tarball_checksum
bin_cmds bin_cmds
app_home java_home
owner node['current_user']
action :install
end
在attributes / default.rb文件中:
set['java']['jdk_version'] = '7'
set['java']['java_home'] = "/home/jpmat/jdk#{node['java']['jdk_version']}"
set['java']['oracle']['accept_oracle_download_terms'] = 'true'