Выполнить команду с правами root, а обычный пользователь

Я хочу выполнить команду, как если бы я был моим обычным пользователем, но я хочу иметь root определенные разрешения. В частности, я создал диск Phyiscal VirtualBox, который я хочу использовать как обычный пользователь.

Я могу sudo для VirtualBox, но это дает ненастроенный VirtualBox. С другой стороны, если я хочу добавить изображение raw (create by VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda в соответствии с документацией) в качестве диска для виртуальной машины, это дает мне ошибку разрешения.

так что в основном у меня есть это: Несколько виртуальных машин с виртуальными дисками в vdi или vmdk картинки. Теперь я хочу еще одного ВМ, но на этот раз одна из жестких диска и мне нужно обычному пользователю иметь разрешения для этого (возможно, с заходом в мой пароль, чтобы дать ему root-доступ, моя главная забота заключается в том, что она должна выполнять от имени определенного пользователя, а не root, хотя он имеет прав суперпользователя).

это вообще возможно? Если да, то как?

13
задан Sathya
28.02.2023 11:17 Количество просмотров материала 2890
Распечатать страницу

4 ответа

до сих пор большинство современных систем используют udev, и изменение любых разрешений/владельцев в /dev эффективно до перезапуска хост-системы.

предлагаю следующие действия:

  1. ls-l /dev/sda

    в моей системе это выглядит так:

    brw-rw----   1 root   disk        8,   0 янв.  11 13:43 sda
    

    группа дисков имеет доступ на запись

  2. sudo gpasswd-a youruser disk

    мы только что добавили youruser в группу disk

  3. большинство важный шаг: relogin youruser или перезагрузить хост-систему, потому что до тех пор членство youruser disk group не будет эффективным

3
отвечен Maksim Serebro 2023-03-01 19:05

вы должны изменить разрешения на /dev / sda так, чтобы пользователь VirtualBox мог читать и писать в него.

С https://forums.virtualbox.org/viewtopic.php?t=333

1
отвечен Jasper van den Bosch 2023-03-01 21:22

Я думаю, вы можете решить эту проблему с правами доступа к файлам, а не sudo ??

возможно, стоит проверить, что ваш пользователь находится в группе vboxusers:

sudo usermod-A-G vboxusers имя пользователя

в противном случае попробуйте изменить разрешения файла в вопросе:

chmod 760/путь/к / файлу.vmdk

создать разрешений, как следующие:

-rwxrw---- 1 группа пользователей 0 Jan 23 10: 35 /путь/к/файлу.vmdk

где rwx = чтение / запись / выполнение для пользователя

где rw - = чтение / запись для группы

где - - - = нет разрешений для других пользователей

вы можете запустить следующую команду в каталоге, чтобы убедиться, что пользователь имеет доступ также:

команду chmod 770 /путь/к/

drwxrwx - - - 2 группа пользователей 4096 Jan 23 10: 40 / путь/к/

(больше информации о chmod здесь: http://www.computerhope.com/unix/uchmod.htm )

или, если виртуальный диск будет использоваться только" пользователем", которого вы упомянули, и никаким другим пользователем, вы можете просто прогнать файл этому пользователю, предоставив им полный доступ к файлу при входе в систему от имени этого пользователя. (и, возможно, скопировать файл в свой домашний каталог ради того, чтобы быть аккуратным ? Факультативный.)

chown имя пользователя / путь / к / файлу.vmdk

по-прежнему требует от пользователя разрешения к тому каталогу для него для доступа к файлу.

( подробнее о Чаун здесь: http://www.computerhope.com/unix/uchown.htm )

0
отвечен Matthew Aldous 2023-03-01 23:39

вы можете попробовать это:

runuser -l lambda -c 'ls -la'

здесь ls -la - это команда (пример), которую вы хотите выполнить как некорневую иlambda - это обычный пользователь, созданный как любая классическая учетная запись обычного пользователя Linux.

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

0
отвечен superCyberuser 2023-03-02 01:56

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх