Как отключить системные настройки с помощью `dconf`

Я хочу «заблокировать» конкретную комбинацию клавиш / значений в dconf, так что только суперпользователи смогут изменить эту конкретную настройку. Для этого необходимо добавить «блокировку» в системную базу данных, чтобы эквивалентный ключ / значение, указанное в базе данных более высокого порядка (в профиле dconf), не имеет приоритета.

Подробное объяснение концепции профиля dconf и связанных с ним «ключевых файлов» см. В Wiki.

Из Wiki системы:

Lockdown поддерживается созданием подкаталога «locks» в каталоге файлов ключей (например: /etc/dconf/db/local.d/locks). Файлы, содержащиеся в этом каталоге, содержат список ключей для блокировки, по одному на строку.

В моем каталоге ключей отображается как «ibus.d», в отличие от «local.d», приведенного в примере:

:/etc/dconf/db/ibus.d$

профиль dconf /etc/dconf/profile/ibus, это выглядело бы правильно:

Содержание файла «ibus»: user-db:user \ system-db:ibus

Согласно Wiki:

Создайте соответствующий файл ключа: ==> /etc/dconf/db/ibus.d/00-media-handling ==< [org/gnome/desktop/media-handling] automount=false Создайте подкаталог «блокировки» и добавьте соответствующий файл: ==> /etc/dconf/db/ibus.d/locks/00_media-handling-lock ==< /org/gnome/desktop/media-handling/automount

В моем случае я установил и заблокировал, automount, для схемы org.gnome.desktop.media-handling - «false».

Наконец, запустите sudo dconf update. Для хорошей меры я также перезагружаю машину.

Ожидаемое поведение при подключении USB-накопителя было бы для устройства не для автомонтирования. Это, однако, не так. Если я присоединяю USB-накопитель и запускаю df:

/dev/sdb1 983344 192 983152 1% /media/user/xxxx-xxxx

Предполагая, что я виноват; Я начинал с «нуля» много раз, каждый раз следуя (одинаковым) инструкциям из разных источников, включая примеры, приведенные на этом сайте; пример Wiki и два. Каждый раз безрезультатно. Пожалуйста, не могли бы вы рассказать о том, где я могу ошибиться? (Ubuntu 16.04)

1
задан 19 May 2018 в 22:23

2 ответа

Файл профиля должен быть / etc / dconf / profile / user

От человека 7 dconf:

On startup, dconf consults the DCONF_PROFILE environment variable. If set, dconf will attempt to open the named profile, aborting if that fails. If the environment variable is not set, it will attempt to open the profile named "user" and if that fails, it will fall back to an internal hard-wired configuration.

Я добавил этот файл:

cat /etc/dconf/profile/user user-db:user system-db:local

Затем я поместил свой файл блокировки в /etc/dconf/db/local.d/lock

И, наконец, я запустил обновление dconf

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

0
ответ дан 17 July 2018 в 13:54

Файл профиля должен быть / etc / dconf / profile / user

От человека 7 dconf:

On startup, dconf consults the DCONF_PROFILE environment variable. If set, dconf will attempt to open the named profile, aborting if that fails. If the environment variable is not set, it will attempt to open the profile named "user" and if that fails, it will fall back to an internal hard-wired configuration.

Я добавил этот файл:

cat /etc/dconf/profile/user user-db:user system-db:local

Затем я поместил свой файл блокировки в /etc/dconf/db/local.d/lock

И, наконец, я запустил обновление dconf

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

0
ответ дан 20 July 2018 в 13:58
  • 1
    Спасибо. Однако я не могу следовать этому до какого-либо значимого результата. Какую комбинацию клавиш / значений вы заблокировали, чтобы проверить, что ваш метод был успешно реализован? Мне особенно интересно найти способ блокировки ключа automount до значения false, в глобальном масштабе, чтобы предотвратить доступ всех пользователей, кроме суперпользователя, к внешнему подключенному медиа (в данном случае к USB-накопителям); ключ automount связан с схемой org.gnome.desktop.media-handling. – case_2501 3 July 2018 в 18:07
  • 2
    Не могли бы вы заблокировать этот ключ? – Eduardo Villanueva Che 5 July 2018 в 13:37
  • 3
    Когда вы блокируете ключ, вы будете использовать его значение по умолчанию, поэтому заблокируйте и измените ключ, который вам нужно изменить для значения по умолчанию. Попробуйте добавить файл, например /usr/share/glib-2.0/schemas/my-defaults.gschema.override: [org.gnome.desktop.media-handling] automount=0 Затем запустите: glib-compile-schemas --strict /usr/share/glib-2.0/schemas/ Это изменит значение по умолчанию. Я блокировал настройки прокси-сервера: /system/proxy/mode /system/proxy/autoconfig-url – Eduardo Villanueva Che 5 July 2018 в 13:44

Другие вопросы по тегам:

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