Заслуживают ли доверия и безопасности установки пакеты RPM Fusion?

Я подозреваю, что это происходит потому, что вы запускаете свою программу с терминала, который не является виртуальной консолью./dev/tty— специальное устройство, обеспечивающее доступ к управляющему терминалу , и это не обязательно виртуальная консоль; но используемый вами ioctlработает только на виртуальных консолях.

Ваша программа будет работать надежно, если вы убедитесь, что fdуказывает на виртуальную консоль , и самый простой способ сделать это при запуске от имени пользователя root — открыть /dev/tty0, что активная виртуальная консоль:

#include 
#include 
#include 
#include 
#include 
#include 

int main(int argc, char **argv) {
  long tty = -1;
  long fd = 0;
  int result = 0;
  struct vt_stat ttyinfo;

  fd = open("/dev/tty0", O_RDWR | O_NOCTTY);
  if (fd < 0) {
    perror("Error opening /dev/tty0");
    return 1;
  }
  result = ioctl(fd, VT_GETSTATE, &ttyinfo);
  if (result == 0) {
    tty = ttyinfo.v_active;
    printf("Active tty: %ld\n", tty);
  } else {
    perror("ioctl failed");
  }
}

1
04.11.2020, 12:43
1 ответ

are RPM Fusion packages trustworthy and safe to install?

By trustworthy, what I mean is in term of security and privacy not tampered with to include malicious code or behavior. Or does anybody checks the upstream code to make sure it's safe?

Что касается фальсификации, следует учитывать два аспекта. Во-первых, это связь между устанавливаемыми двоичными файлами и исходным кодом; подробности см. ниже. Сопровождающие не могут загружать свои собственные двоичные файлы, все двоичные файлы берутся из инфраструктуры сборки. Это приводит ко второму аспекту: заслуживает ли доверия инфраструктура сборки; на это нет простого ответа. Инфраструктура использует Koji , но посторонние не могут проверить, что работает в инфраструктуре сборки!

Что касается проверки исходного кода, это зависит от сопровождающих.

Is it possible to prove that RPM Fusion packages have been built without being manipulated?

Сборки в целом не воспроизводимы , но вы можете изучить сценарии сборки пакетов в git-репозиториях RPM Fusion и проследить каждую сборку на Кодзи . Индивидуальные сборки(например. эта сборка плагинов gstreamer)показывает, из какого git-хэша они были собраны, и предоставляет все журналы сборки и артефакты; таким образом, вы можете попытаться воспроизвести каждый шаг локально и сравнить свои результаты с опубликованными артефактами.

3
18.03.2021, 22:52

Теги

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