16.16. Решение проблем с инфраструктурой MAC
Пред. | Глава 16. Принудительный контроль доступа (MAC) | След.

## 16.16. Решение проблем с инфраструктурой MAC

На стадии разработки несколько пользователей сообщали о проблемах при обычных настройках. Некоторые из этих проблем приведены ниже:

### 16.16.1. Параметр `multilabel` не может быть включен на `/`

Параметр `multilabel` не включается на моем корневом (`/`) разделе!

Похоже, что каждый пятидесятый пользователь сталкивается с этой проблемой; на самом деле, и у нас была эта проблема в первых настройках. Дальнейшие наблюдения за этой так называемой «ошибкой» привели меня к мнению, что это результат или некорректной документации, или неправильной интерпретации этой документации. Независимо от того, почему это случилось, для решения этой проблемы могут быть предприняты следующие шаги:

1. Отредактируйте `/etc/fstab` и установите для корневого раздела параметр только для чтения (`ro`).

2. Перегрузитесь в однопользовательский режим.

3. Запустите команду `tunefs` `-l enable` на `/`.

4. Перегрузите систему в нормальный режим.

5. Запустите `mount` `-urw` `/` и измените параметр `ro` обратно на `rw` в `/etc/fstab`; перегрузите систему опять.

6. Дважды проверьте вывод `mount`, чтобы убедиться, что параметр `multilabel` был установлен на корневой файловой системе.

### 16.16.2. Не могу запустить XFree86™ после MAC

После настройки системы безопасности MAC, я больше не могу запускать XFree86™!

Это может быть вызвано политикой MAC `partition` или путем неправильной установки меток одной из политик MAC. Для отладки попробуйте следующее:

1. Просмотрите сообщение об ошибке; если пользователь находится в классе `insecure`, проблема может быть в политике `partition`. Попробуйте установить класс пользователя обратно в `default` и пересобрать базу данных командой `cap_mkdb`. Если это не решит проблемы, попробуйте шаг два.

2. Дважды проверьте политики с метками. Убедитесь, что политики настроены правильно для рассматриваемого пользователя, приложения XFree86™, и устройств в `/dev`.

3. Если проблема не решена, отправьте сообщение об ошибке и описание вашей системы в список рассылки TrustedBSD, находящийся на веб сайте TrustedBSD или в Список рассылки, посвящённый вопросам и ответам пользователей FreeBSD.

### 16.16.3. Error: _secure_path(3) cannot stat `.login_conf`

При попытке переключения от `root` на другого пользователя системы, появляется сообщение об ошибке _secure_path: unable to state .login_conf.

Это сообщение обычно показывается, когда у пользователя более высокая метка, чем у пользователя, которым он пытается стать. Например, у пользователя системы `joe` метка по умолчанию `biba/low`. Пользователь `root`, метка которого `biba/high`, не может просматривать домашний каталог пользователя `joe`. Это не зависит от того, использует ли пользователь `root` команду `su` `joe` или нет. В этом сценарии модель целостности Biba не позволит `root` просматривать объекты с низким уровнем целостности.

### 16.16.4. Пользователя `root` нет!

В нормальном или даже однопользовательском режиме `root` не обнаруживается. Команда `whoami` возвращает 0 (нуль) и `su` возвращает who are you?. Что можно сделать?

Это может произойти, если политика с метками была отключена, или через sysctl(8), или путем выгрузки модуля политики. Если политика была постоянно или временно отключена, базу данных login необходимо перенастроить. Дважды проверьте `login.conf`, чтобы убедиться, что все параметры `label` были удалены и пересоберите базу данных командой `cap_mkdb`.

Пред. | Наверх | След.
16.15. Другой пример: Использование MAC для защиты веб сервера | Начало | Глава 17. Аудит событий безопасности

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.