Какие гостевые расширения VirtualBox использовать в Ubuntu 18.04?

#!/bin/sh
tenTimes(){
  expr "$1" \* 10
}

table(){
  printf '%s\t%s\n' \#Value Result
  for a; do
    printf '%s\t%s\n' "$a" "$(tenTimes "$a")"
  done
}

table 1 5

Выходные данные:

#Value  Result
1   10
5   50
-121--289261-

Поздравляем! Вы находитесь на пути к предоставлению неограниченного доступа к корню любому, кто может заставить сервер NGINX запустить произвольный код. Вы должны быть уверены, что каждый сценарий CGI и php-страница и все, что может быть использовано для выполнения произвольного кода, является безопасным.

Оболочка C эквивалентна настройке sudo, позволяющей nginx выполнять любую команду в качестве корня.

НЕ ДЕЛАЙТЕ ТАК .

Запишите отдельные обертки сценариев оболочки для определенных команд, а затем предоставьте доступ sudo только для этих оберток. Например, /usr/local/sbin/restart-nginx.sh , который не выполняет ничего , кроме сервисного nginx restart и предоставляет nginx sudo доступ к этому сценарию.

Затем напишите другой, совершенно отдельный сценарий, чтобы запустить, скажем, dmidecode -s system-uuid , как в вашем предыдущем вопросе. И дать nginx sudo доступ к этому сценарию тоже.

Чем проще и сложнее каждый отдельный сценарий, тем лучше. Самое безопасное - вообще не принимать пользовательские входные данные, не из командной строки и не из переменных среды.

Если некоторые из ваших сценариев обертки должны принимать пользовательский ввод, проверьте работоспособность и устраните все введенные пользователем входные данные перед их использованием. И цитируйте переменные - например, всегда используйте «$ variable» и никогда $ variable без кавычек.

Если ваши сценарии-оболочки становятся слишком длинными и сложными, попробуйте определить только минимальную команду или набор команд, которые необходимо выполнить как root, и записать их как отдельный сценарий (или сценарии), которые вызываются sudo из основного сценария. то есть запускать как можно меньше, чем root.

-121--289255-

попробуйте эту команду

synclient tapbutton1=1

done

2
28.04.2018, 10:34
1 ответ

Загрузка с официального сайта не означает отказ от автоматических обновлений!

Вот что нужно делать, чтобы быть в курсе последних событий. Инструкции взяты с страницы загрузки Linux . Для этого вам нужен терминал (, ну, вы можете сделать это через графический интерфейс, но так проще объяснить ).

Начните с удаления того, что у вас есть. Не беспокойтесь — это не удалит ваши данные, но, конечно, у вас всегда должна быть резервная копия.

sudo apt remove 'virtualbox*'
sudo apt autoremove    # This step is optional but recommended

Теперь добавьте репозиторий VB.

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
sudo add-apt-repository 'deb https://download.virtualbox.org/virtualbox/debian bionic contrib'

Наконец, установите VB и пару необязательных, но часто -обязательных зависимостей.

sudo apt update
sudo apt upgrade       # This step is optional but recommended
sudo apt install build-essential dkms linux-headers-generic virtualbox-5.2

Когда вы запускаете VirtualBox, он выполняет установку и обновление гостевых дополнений.

Внимание

Всякий раз, когда VB создает новую версию (, а не исправление ошибки -), например. с VirtualBox 5.2 на VirtualBox 6.1 вам придется удалить старую версию (, например.virtualbox-5.2)и установите новый (, например.virtualbox-6.1). Вам не придется менять свои репозитории. К сожалению, команда VB еще не разобралась с универсальными зависимостями.

1
27.01.2020, 21:55

Теги

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