Запустите приложение как корень во время начальной загрузки на Ubuntu 14.04

Просто сделайте:

tr '\0' '\377' < /dev/zero > /dev/sdb

Когда накопитель будет переполнен, он прервется с ошибкой.

Использование dd здесь не имеет смысла. Вы используете dd, чтобы убедиться, что чтение и запись выполняются определенного размера. Здесь нет смысла делать это. tr будет делать чтение/запись 4 или 8 килобайт, что должно быть достаточно хорошо.

1
22.10.2014, 18:16
1 ответ

Полный кредит за этот ответ поступает на https://superuser.com/a/602436/142948

Вам нужна опция -3 для scp:

scp -3 one:/opt/bigfile.tar.gz two:/opt/bigfile.tar.gz

-3 : Копии между двумя удаленными хостами передаются через локальный узел. Без этой опции данные копируются непосредственно между двух удаленных хостов.

http://www.openbsd.org/cgi-bin/man.cgi?query=scp&sektion=1

В противном случае выполняется разрешение второго псевдонима «два» на узле «один» , который может не существовать.

-121--28778-

Для других:

$ sudo yum history summary 

предоставляет список обновлений и установок за различные периоды времени. Ссылка .

Пример

$ sudo yum history summary
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Login user                 | Time                | Action(s)        | Altered 
-------------------------------------------------------------------------------
Sam Mingo <slm>            | Last day            | Install          |        1
Sam Mingo <slm>            | Last week           | I, U             |       58
Sam Mingo <slm>            | Last 2 weeks        | Install          |       22
Sam Mingo <slm>            | Last 3 months       | E, I, O, U       |     2487
System <unset>             | Last 3 months       | Install          |        1
Sam Mingo <slm>            | Last 6 months       | E, I, O, U       |     1435
System <unset>             | Last year           | Install          |     1169
history summary
-121--186804-

На основании имени файла RecvRawEth.c , которое вы разместили в своем комментарии выше, я предполагаю, что вы пытаетесь использовать необработанные сокеты ( SOCK _ RAW ). Это всегда требует, чтобы программа выполнялась как root, поскольку необработанные сокеты могут позволить обойти другие механизмы безопасности, такие как ограничение привилегированных портов .

Вам действительно следует переосмыслить это приложение. Очень немногие программы правомерно требуют необработанных сокетов. Почти всегда есть лучший способ.

Вы выбрасываете в смесь по крайней мере две дополнительные проблемы, которые на самом деле не кошерны на сайтах типа Stack Exchange, но я решу их в любом случае:

  1. setuid root

    Вы пытаетесь обойти ограничение на необработанные сокеты, пометив его как root независимо от того, кто на самом деле его начал. Это может привести к открытию одной или нескольких брешей в системе безопасности. Поверьте: десятилетия истории Unix говорят нам, что сложные программы setuid root , скорее всего, будут иметь эксплуатируемые проблемы. На их поиск и акциз может уйти много лет.

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

  2. Запуск при загрузке

    При создании демона настройка его для запуска при загрузке системы является тривиальной задачей. Любой приличный учебник, показывающий, как создать демон, перейдет в это. На Ubuntu, я считаю, что это означает иметь дело с systemd .

    Что касается части графического интерфейса пользователя, то необходимо просто добавить ее к запуску сеанса .

1
27.01.2020, 23:51

Теги

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