Я работаю над пользовательской ОС, и рецепт make
я написал для создания нового образа диска, требует sudo
для подключения / отключения виртуального образа жесткого диска к устройству /dev/nbdN
. Поскольку я не хочу использовать sudo
в рецепте, я просто использовал sudo make disk
.
Я подумал, что могу просто добавить себя в группу disk
(так как stat /dev/nbd0
показывает UID файла как root
, а GID как disk
), чтобы я мог подключать и отключать устройства /dev/nbdN
без sudo
, но это все же не работает (да, я вышел из системы и снова вошел в систему, а id
отображается на групповом disk
).
Должен ли я по-прежнему иметь права root
для успешной обработки вызовов ioctl
(вот где, кажется, происходит сбой, если я не root
)? Или есть что-то еще специфичное для qemu-nbd
которое мне нужно сделать, чтобы избежать использования root
?
Изменить: моя команда это (у меня есть разрешения R/W для hda.qcow2
):
$ qemu-nbd -c /dev/nbd0 hda.qcow2
И вывод такой:
/build/buildd/qemu-2.0.0+dfsg/nbd.c:nbd_init():L504: Failed to set NBD socket
/build/buildd/qemu-2.0.0+dfsg/nbd.c:nbd_receive_request():L638: read failed
Выполнение той же команды с sudo
выполняется успешно без вывода.
ОС Ubuntu 14.04 x64.