Войдите как root в оболочку, используя скрипт ruby - PullRequest
0 голосов
/ 11 сентября 2018

Я хочу войти в систему как пользователь root и запустить оставшийся скрипт

, для которого я использовал

system 'sudo su' , но он не работает. Вот скрипт ruby.

Мое требование - войти в систему как root в системе, запросив пароль, а затем стать пользователем root и запустить оставшийся скрипт. Пожалуйста, помогите мне, я новичок в ruby ​​

# -*- mode: ruby -*-
# vi: set ft=ruby :
server_disk='server.vdi'
desktop_disk='desktop.vdi'
Vagrant.configure(2) do |config|
 config.vm.box = "centos/7"
 config.vm.define "classroom" do |s|
  s.vbguest.auto_update = false
  s.vm.network "private_network", ip: "192.168.33.254"
  s.vm.synced_folder ".", "/vagrant", disabled: true
  #s.vm.synced_folder "../repos", "/repos", owner: "root", group: "root"
  s.vm.synced_folder "scripts/classroom", "/usr/local/scripts", type: "rsync", owner: "root", group: "root"
  s.vm.provision "shell", inline: <<-SHELL
   chmod u+x /usr/local/scripts/classroom.sh
   /usr/local/scripts/classroom.sh
  SHELL
 end
 system 'sudo su'
 config.vm.define "server" do |a|
  a.vbguest.auto_update = false
  a.vm.provider "virtualbox" do |v|
   unless File.exist?(server_disk)
    v.customize ['createhd', '--filename', server_disk, '--size', 20 * 1024]
   end
   v.customize ['storageattach', :id, '--storagectl', 'IDE Controller', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', server_disk]
   end
  a.vm.network "private_network", ip: "192.168.33.11"
  a.vm.synced_folder ".", "/vagrant", disabled: true
  a.vm.synced_folder "scripts/server", "/usr/local/scripts", type: "rsync", owner: "root", group: "root"
  a.vm.provision "shell", inline: <<-SHELL
   chmod u+x /usr/local/scripts/server.sh
   /usr/local/scripts/server.sh
  SHELL
  end 
 config.vm.define "desktop" do |b|
  b.vbguest.auto_update = false
  b.vm.provider "virtualbox" do |v|
   unless File.exist?(desktop_disk)
    v.customize ['createhd', '--filename', desktop_disk, '--size', 20 * 1024]
   end
   v.customize ['storageattach', :id, '--storagectl', 'IDE Controller', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', desktop_disk]
   end
  b.vm.network "private_network", ip: "192.168.33.10"
  b.vm.synced_folder ".", "/vagrant", disabled: true
  b.vm.synced_folder "scripts/desktop", "/usr/local/scripts", type: "rsync", owner: "root", group: "root"
  b.vm.provision "shell", inline: <<-SHELL
   chmod u+x /usr/local/scripts/desktop.sh
   /usr/local/scripts/desktop.sh
  SHELL
  end
end
...