'выполниться' как бродячий пользователь, не корень, с соло шеф-повара?

страница справочника cryptsetup предлагает неотступно следование за-d параметром: "Если Вы хотите установить новый ключ через файл ключей, необходимо использовать позиционный аргумент для luksFormat или luksAddKey".

10
задан 28 June 2012 в 08:33
3 ответа

Похоже, Chef работает как бродячий пользователь, но не выполняет поиск по тому же пути, что и ваша оболочка. Войдите в систему с помощью vagrant ssh и запустите , а затем npm . Он вернет что-то вроде / путь / к / bin / npm . Замените / path / to / bin / ниже, чтобы Chef начал поиск в соответствующем каталоге.

execute "install q and zombiejs" do                                             
    cwd "/home/vagrant"                                                           
    user "vagrant"                                                                
    action :run   
    path ["/path/to/bin/"]                                                               
    command "npm install -g q zombie should mocha coffee-script"                  
end
2
ответ дан 2 December 2019 в 22:02

Чтобы выполнить сценарий или команду от имени пользователя, необходимо объединить su -l и bash -i :

 execute "npm_install" do
    command "su vagrant -l -c 'cd /shared-with-host/helperScripts/ && bash -i npm install -g q zombie should mocha coffee-script'" 
    action :run
  end

Из-за некоторые ошибки , Chef неправильно устанавливает среду для указанного пользователя в execute . Решение narced133 не сработает.

13
ответ дан 2 December 2019 в 22:02

Вы можете использовать среду , чтобы установить переменные среды HOME и USER в блоке выполнения.

execute "install q and zombiejs" do                                             
    cwd "/home/vagrant"                                                           
    user "vagrant"                                                                
    action :run   
    environment ({'HOME' => '/home/vagrant', 'USER' => 'vagrant'})                                                             
    command "npm install -g q zombie should mocha coffee-script"                  
end

Я часто использую это для установки бродячих плагинов в качестве бродячего пользователя внутри моего ВМ. Вы также можете установить другие переменные среды, если это необходимо для любой команды, которую вы пытаетесь выполнить.

6
ответ дан 2 December 2019 в 22:02

Теги

Похожие вопросы