VirtualBox: SUPR3HardenedMain: effective uid is not root (euid=1000 egid=1000 uid=1000 gid=1000)
А что бы его пофиксить, мне всего ли пришлось поменять хозяина на директорию библиотек virtualboxа:
# ls -l /usr/local/lib/virtualbox/
total 167096
-r--r--r-- 1 root vboxusers 86477 25 май 12:59 DBGCPlugInDiggers.so
-r--r--r-- 1 root vboxusers 16159 25 май 12:54 VBoxAuth.so
-r--r--r-- 1 root vboxusers 209857 25 май 13:00 VBoxAuthSimple.so
-r-s--x--x 1 root vboxusers 23604 25 май 13:02 VBoxBFE
...................
..............
ЗЫ.
С Linux и FreeBSD на VirtualBox есть некоторые бока в графическом режиме до тех пор, пока не проинсталить дополнения в образе, который скачивается при установке VBoxa и исправления конфига xorg.conf добавлением в него драйверов с этого же диска.
Установка.
Если еще не установлен, то установим vnc — он нам пригодится. А точнее vncviewer с его комплекта:
# cd /usr/ports/net/libvncserver
# make && make install
Теперь ставим виртуалбокс:
# cd /usr/ports/emulators/virtualbox-ose
# make config
Выбираем всё кроме (NLS, DBUS, DEBUG), иначе корится в процессе компиляции.
# make
# cd /usr/ports/emulators/virtualbox-ose-additions/
# make && make install
При установке дополнений, они за собой потянут 3 пакета виртуалбокса:
virtualbox-ose-4.0.8
virtualbox-ose-additions-4.0.8
virtualbox-ose-kmod-4.0.8
Если это не так, то доинсталиваем недостающее из трёх пакетов:
# cd /usr/ports/emulators/virtualbox-ose-additions/
# cd /usr/ports/emulators/virtualbox-ose-kmod/
# cd /usr/ports/emulators/virtualbox-ose/
После успешной сборки, выполняем, то что нас просит VB при установке:
# kldload vboxdrv
# echo 'vboxdrv_load="YES"' >> /boot/loader.conf
# echo 'vboxnet_enable="YES"' >> /etc/rc.conf
# echo 'vboxguest_enable="YES"' >> /etc/rc.conf
# echo 'vboxservice_enable="YES"' >> /etc/rc.conf
# echo 'vboxservice_flags="--disable-timesync"' >> /etc/rc.conf
# echo 'vboxheadless_enable="YES"' >> /etc/rc.conf
# echo 'vboxwebsrv_enable="YES"' >> /etc/rc.conf
В теории, это всё. Можно запустить сервис вручную, или перезагрузить ПК.
Но я на этом не остановился, как я уже писал выше, я поставил себе phpvirtualbox для удобства управления гостевыми ПК — это удобно.
# cd /usr/local/www/phpvirtualbox/
# make install
После установки phpvirtualbox, проверьте что бы было установленно SOAP PHP расширение, иначе он работать не будет.
Веб-сервер я сконфигурил, как отдельный виртуальный хост (мне так было удобнее).
Теперь создаём пользователя от которого и будем всё запускать, у меня это «pvbuser»
# adduser pvbuser
# pw groupadd vboxusers
# pw groupmod vboxusers -m pvbuser
# mkdir /home/pvbuser
# chown -R pvbuser:vboxusers /home/pvbuser
Правим конфиг для phpvirtualbox, я в нём отключил авторизацию, так как авторизируюсь средствами апача.
# mcedit /usr/local/www/phpvirtualbox/config.php
//var $noAuth = true; - нужно раcкомментировать, если авторизация не нужна.
Создаём скрипт для автозапуска сервиса веб-управления:
# mcedit /usr/local/etc/rc.d/phpvirtualbox.sh
и вносим:
#!/bin/sh
echo -n 'phpVirtualBox daemon
'
case "$1" in
start)
echo 'VBox started..'
su - pvbuser -c "VBoxManage setproperty websrvauthlibrary null" &&
# su - pvbuser -c "/usr/local/bin/VBoxHeadless --startvm WinXP --vnc --vncport 5903 --vncpass qwest"
su - pvbuser -c "/usr/bin/nohup vboxwebsrv -t 0 -F /dev/null"
;;
stop)
killall vboxwebsrv
killall VBoxSVC
killall VBoxXPCOMIPCD
echo 'VBox stoped..'
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
Ставим права запуска на скрипт и запускаем его:
# chmod +x /usr/local/etc/rc.d/phpvirtualbox.sh
# /usr/local/etc/rc.d/phpvirtualbox.sh
Теперь зайдя в ваш виртуальный хост, можно увидеть интерфейс управления как в самом gui-шном VirtualBox.
Но это еще не всё, можно машину сконфигурить и с его помощью, а можно вручную, что меня намного больше попёрло. Тем более, первый раз запустить её Вам однозначно прийдётся в ручную запускать с vnc — для установки гостевой ОС. А дальше как угодно, через тот-же phpvirtualbox.
Итак, команды для создания и запуска виртуальной виндовс машины:
# su -l pvbuser
$ VBoxManage createvm --name WinXP --ostype WindowsXP --register --basefolder /home/pvbuser
$ VBoxManage modifyvm "WinXP" --memory 512 --acpi on --boot1 dvd --nic1 nat
$ VBoxManage createhd --filename "WinXP.vdi" --size 8000
$ VBoxManage storagectl "WinXP" --name "IDE Controller" --add ide --controller PIIX4
$ VBoxManage storageattach "WinXP" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium "WinXP.vdi"
$ VBoxManage storageattach "WinXP" --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /mnt/WinEnterpriseXP-sp3.iso
После конфигурации — запускаем в фоне:
/usr/bin/nohup /usr/local/bin/VBoxHeadless --startvm WinXP --vnc --vncport 5903 --vncpass qwest &
Подключаемся с помощью vncviewer:
$ vncviewer 127.0.0.1:5903
Password:
Вот и всё, мы подключились к нашей гостевой машине — далее инсталлируем на неё всё необходимое, включаем RDP. Перезагружаемся и Гостевой ПК готов к работе. Можно выключить стандартными средствами гостевого ПК и включить через phpvirtualbox, что бы сразу и проверить как всё работает.
PS. Возможно команды для конфигурения и запуска гостевой машины у Вас немного будут отличатся от моих — так как разработка VirtualBox на месте не стоит, что не может не радовать
noted.org.ua