Ранее уже был пост про групповые политики Chromium, но тогда речь шла про окошки (тётя Вика в курсе). Теперь мне требуется реализовать этот же функционал, но уже в РЕД ОС. Впрочем, всё это вполне применимо и в прочих дистрибутивах.
Про групповые политики браузера Chromium для Linux можно почитать здесь.
На момент формирования политик браузера для Linux у меня уже был сформирован список желаемого и успешно применённого, но отличался сам принцип размещения файла политик. Как водится, в окошках всё волшебство скрыто в реестре, а для Linux нужно создавать отдельный файл, который браузер будет считывать.
Правда, в данном случае речь идёт о десериализации вот такого JSON:
{
"IdleTimeout": 30,
"PasswordManagerEnabled": false,
"IdleTimeoutActions": [
"clear_browsing_history",
"clear_download_history",
"clear_cookies_and_other_site_data",
"clear_cached_images_and_files",
"clear_password_signin",
"clear_autofill",
"clear_site_settings"
]
}
Здесь я отключил менеджер паролей и установил таймаут для очистки истории посещений и прочих данных. По сути, это перевод reg-файла отсюда в JSON. Данный JSON я сохранил в файл chromium.json и разместил на том самом PXE-сервере.
Дальше уже в бой вступает простенький скрипт на bash, который проследит, чтобы Chromium являлся браузером по умолчанию и разместит файл chromium.json по необходимому пути:
#!/bin/bash
# Установка браузера по умолчанию
if ! xdg-settings get default-web-browser | grep -q "chromium"; then
xdg-settings set default-web-browser chromium.desktop
fi
# Размещение политик браузера
polpath="/etc/chromium/policies/managed"
polurl="http://192.168.1.100/images/POLICIES/chromium.json"
mkdir -p $polpath
wget -q --show-progress $polurl -O $polpath/policies.json
По умолчанию, Chromium ищет административные файлы политик здесь:
/etc/chromium/policies/managed
В документации рекомендуется запретить пользователям записывать и редактировать файлы в данной папке, иначе вся суть политик будет утрачена. Согласимся и последуем совету:
sudo chmod 755 /etc/chromium/policies/managed
Теперь в папке может делать всякое только её владелец.
Убедиться, что всё сделано правильно, можно, перейдя на вкладку политик браузера:
chrome://policy
При необходимости файл chromium.json можно дополнить необходимыми директивами и разнести файл по хостам с помощью ssh или же подойти к вопросу серьёзнее и создать отдельный плейбук в Ansible.