Задать вопрос
winer
@winer
занимаюсь разработкой сайтов на 1c-bitrix

Как дать права админа Vagrant?

Добрый день.

Столкнулся с проблемой при запуске vagrant up.

Vagrantfile выглядит так:
# -*- mode: ruby -*-
# vi: set ft=ruby :

required_plugins = ["vagrant-hostmanager", "vagrant-vbguest"]
required_plugins.each do |plugin|
    if !Vagrant.has_plugin?(plugin) then
        system "echo Not installed required plugin: #{plugin} ..."
            system "vagrant plugin install #{plugin}"
    end
end

Vagrant.configure("2") do |config|
  config.vm.box = "gricuk/bitrix-vm-7"

  config.vm.synced_folder ".", "/home/bitrix/www",
    owner: "bitrix", group: "bitrix", type: "smb", mount_options: ["mfsymlinks,dir_mode=0755,file_mode=0755"]


  config.hostmanager.enabled = true
  config.hostmanager.manage_host = true
  config.hostmanager.manage_guest = false
  config.hostmanager.ignore_private_ip = false
  config.hostmanager.include_offline = true
  config.vm.hostname = 'test.me'
  config.vm.network :private_network, ip: '192.168.1.22'
  config.hostmanager.aliases = ['test.me', 'www.test.me']

  config.ssh.username = 'root'
  config.ssh.password = 'vagrant'
  config.ssh.insert_key = 'true'

  config.vm.provider "virtualbox" do |vb|
     vb.gui = true
     vb.memory = "1024"
  end
end


vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'gricuk/bitrix-vm-7' is up to date...
SMB shared folders require running Vagrant with administrative
privileges. This is a limitation of Windows, since creating new
network shares requires admin privileges. Please try again in a
console with proper permissions or use another synced folder type.


Судя по ошибке vagrant up надо запустить под админом. Но как это сделать ?

  • Запускал консоль из под админа (через выбор "Запуск от имени администратора"), выводит туже самую ошибку.
  • В свойствах файла C:\HashiCorp\Vagrant\bin\vagrant.exe задавал запуск от имени администратора https://yadi.sk/i/B7PcVvyx3J6umZ .
    1 - это через установку чекбокса "Выполнять эту программу от имени Администратора"
    2 - тот же чекбокс только для всех пользователей

  • Здесь двигал переключатель в самый низ https://yadi.sk/i/ats3Inpg3J6uy5


Итог тот же самый, выдает ошибку приведенную выше.
  • Вопрос задан
  • 1196 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
winer
@winer Автор вопроса
занимаюсь разработкой сайтов на 1c-bitrix
В итоге покопался в потрохах Vagrant и нашел там функцию с помощью которой определяется работает он под админом или нет.
У меня этот файл находится тут
C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.9.4\lib\vagrant\util\platform.rb

в нем нашел метод window_admin:
def windows_admin?
          return @_windows_admin if defined?(@_windows_admin)

          @_windows_admin = -> {
            ps_cmd = "[System.Security.Principal.WindowsIdentity]::GetCurrent().Groups | ForEach-Object { if ($_.Value -eq 'S-1-5-19'){ Write-Host 'true'; break }}"
            output = Vagrant::Util::PowerShell.execute_cmd(ps_cmd)
            return output == 'true'
          }.call

          return @_windows_admin
        end

Выше метода есть ссылка на все доступные id групп пользователей. Там нашел группу S-1-5-32-544, которая, судя по описанию, подходит под роль админа (а так же мой админ на компе состоит в этой группе https://yadi.sk/i/WeY-z68C3J7nhC)
В итоге поменял S-1-5-19 на S-1-5-32-544. Теперь при vagrant up дело идет дальше. По крайней мере запрашиваются логин и пароль и что то происходит))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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