Почему я не могу изменить OpenBSD securelevel?

Вы можете быть поражены недавней мезаструктурой 9.x ошибка/проблема [ссылка здесь].

Проверять, используете ли Вы мезаструктуру 9.x

yum list installed | grep mesa

Если Вы имеете mesa-9.0-3.fc18, попробуйте снижение к mesa-8.1-0.19.fc18.

yum downgrade mesa

1
21.01.2014, 19:17
4 ответа

Рассмотрим конкретную часть Absolute OpenBSD - Майкл Лукас :

Уровень безопасности 0

Уровень безопасности 0 используется только при первой загрузке системы. Он не предлагает никаких специальных функций. Однако когда система переходит в многопользовательский режим, уровень безопасности автоматически повышается до 1. Установка securelevel = 0 в /etc/rc.securelevel функционально эквивалентен установке securelevel = 1 .

Взглянем на документацию OpenBSD - securelevel (7) :

Snip:

 Securelevel provides convenient means of ``locking down'' a system to a
 degree suited to its environment.  It is normally set at boot via the
 rc.securelevel(8) script, or the superuser may raise securelevel at any
 time by modifying the kern.securelevel sysctl(8) variable.  However, only
 init(8) may lower it once the system has entered secure mode.  A kernel
 built with option INSECURE in the config file will default to permanently
 insecure mode.

И взглянем на постоянно небезопасный:

 -1 Permanently insecure mode
       -   init(8) will not attempt to raise the securelevel
       -   may only be set with sysctl(8) while the system is insecure
       -   otherwise identical to securelevel 0

Теперь посмотрим на соответствующую часть справочная страница init (8) :

The kernel securelevel(7) is normally set to 0 while in single-user mode,
and raised to 1 when the system begins multi-user operations. This action
will not take place if the securelevel is -1, and can be modified via the
/etc/rc.securelevel script.

tl, dr : Невозможно оставаться на уровне securelevel 0 . Он будет автоматически повышен до 1. Для этого вам нужно будет использовать securelevel -1 , что может быть достигнуто на постоянной основе только путем пересборки вашего ядра (вы ДЕЙСТВИТЕЛЬНО этого хотите?). И помните: уровни безопасности можно только повышать. Все, что необходимо выполнить до повышения уровня безопасности, должно быть помещено в /etc/rc.securelevel .

3
27.01.2020, 23:17

Установка его через работу sysctl?

sysctl kern.securelevel=0

Также можете Вы показывать что Ваш /etc/rc.securelevel файл похож после перезагрузки? Вы уверены, что это было сохранено правильно и корректно?

0
27.01.2020, 23:17
  • 1
    Не думайте, что это будет работать, поскольку только init может понизить securelevel. Пользователь root может повысить его, но не понизить его. –  gabe. 07.02.2014, 20:19

Я знаю, что это вопрос, заданный несколькими месяцами ранее, но он все еще может быть полезен для кого-то, считающего, что приведенный выше ответ отмечен как правильный НЕПРАВИЛЬНЫЙ!

«Невозможно оставаться на уровне безопасности 0. Он будет автоматически повышен до 1. Для этого вам нужно будет использовать уровень безопасности -1, что может быть достигнуто на постоянной основе только путем пересборки вашего ядра (не так ли? ДЕЙСТВИТЕЛЬНО этого хотите?) "

НЕПРАВИЛЬНО!

Вы действительно можете. Это кое-что, что было изменено в последнем выпуске, и это меня очень беспокоило. Введение этого дурацкого автоматического переключения на уровень безопасности 1 в основном превращает администрирование вашего сервера в АД НА ЗЕМЛЕ, если вы широко использовали флаги файлов, начиная с 1 и выше, вы больше не можете их изменять.

ОЧЕНЬ быстрое исправление - отредактировать раздел (строки 465-467) в / etc / rc:

if [ `sysctl -n kern.securelevel` -eq 0 ]; then
        sysctl kern.securelevel=1
fi

просто измените уровень безопасности на -1:

    sysctl kern.securelevel=-1

и сервер придет вверх с безопасным уровнем -1. Тогда вы должны заблокировать его.

"И помните: уровни безопасности можно только повышать. Все, что необходимо выполнить до повышения уровня безопасности, должно быть помещено в /etc/rc.securelevel."

НЕПРАВИЛЬНО!

Уровни безопасности могут быть повышены, только если ток> = 1.

2
27.01.2020, 23:17

Уровень безопасности 0 специально используется для последовательности загрузки. Если вы не хотите никаких ограничений, таких как уровень безопасности 0, используйте вместо этого уровень безопасности -1.

Поместите следующую строку в ваш /etc/rc.securelevel:

sysctl kern.securelevel=-1

/etc/rc— это скрипт, выполняющий последовательность загрузки. Он выполняет /etc/rc.securelevel. Затем rc проверяет уровень безопасности: если уровень безопасности = 0, то rc повышает его до 1. Если уровень безопасности <> 0, то rc ничего не делает.

Протестировано на OpenBSD 6.1.

0
27.01.2020, 23:17

Теги

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