Схема выделения разделов для хоста виртуальной машины

Нет никакого стандартного пути, и насколько я знаю, что нет никакого Соляриса пути также. Если бы был надежный способ узнать пользователя “предка”, то обычная модель обеспечения безопасности Unix, где корень может сделать все, не содержала бы.

Можно проверить родителя каждого процесса рекурсивно. (Предупреждение, непротестированный сценарий.)

pid=$1 pids=$pid user=
while pid=$(ps -o ppid= $pid); do
  user=$(ps -o ruser= $pid)
  case $user in
    0|root) :;;
    *) break;;
  esac
done
echo $user

Это, как гарантируют, не даст результата, все же. Возможно, родительский процесс родителя родителя вышел.

Можно проверить, какой терминал процесс выполняет (ps -o tty= $pid) и проверьте, кто продержался, вошел в систему на том терминале (who, last). Это только показательно, хотя: корень может запустить процессы на любом терминале.

Что делает Вы ожидаете видеть, работает ли user1 su user2 -c 'su user1 -c …'? Возможно, что ОС отследила бы последовательные цепочки аутентификации в структурах данных ядра, связанных с процессом, но это очень далеко от обычной модели обеспечения безопасности Unix.

1
11.06.2012, 22:22
1 ответ

Моя типичная установка смотрит что-то как:

  1. Набег программного обеспечения по блочным устройствам (любой Уровень 1 или 5)
  2. Одна Physical Volume & Volume Group по набегу программного обеспечения
  3. Один LV для / поскольку личинка в наше время может справиться с LVM и набегом без проблемы. Нет, по-моему, никакой потребности в специализированном разделе начальной загрузки
  4. В зависимости от Вашей системы любой дополнительный LV для /var/log или /home

Так да Ваша схема должна работать. Если у Вас есть несколько дисков, можно также рассмотреть использование выделенных дисков для виртуальных машин и использовать различные для операционной системы. Это действительно зависит от Ваших аппаратных средств и Ваших требований.

Поскольку Вы используете kvm удостоверьтесь, что использовали virtio и отключите кэширование для своего блочного устройства.

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

2
27.01.2020, 23:39

Теги

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