Конфигурационный файл используется для настройки параметров операционной системы и начальных настроек некоторых программ.
В системе присутствуют:
Глобальный конфигурационный файл
Путь: /mnt/livemedia/ublinux-data/ublinux.ini
Содержит в себе все параметры настройки, разделенные блоками (группы файлов). Используется в момент загрузки системы и формирует локальные конфигурационные файлы. Все изменения внесенные в глобальный конфигурационный файл сохраняются после перезагрузки.
Локальные конфигурационные файлы
Путь: /etc/ublinux/*
Локальные конфигурационные файлы формируются из глобального конфигурационного файла каждый раз во время запуска системы и необходимы для изменений в текущий момент работы системы. Внесенные изменения в локальные файлы сбрасываются после перезагрузки.
Если система работает в режиме песочницы и каталог ublinux-data отсутствует, то рекомендуется перенести ublinux.ini в каталог: /mnt/livedata/ublinux/.
Данный файл доступен для изменения только с правами «root».
Для обновления конфигурационного файла следует воспользоваться утилитой UBConfig:
Для восстановления последней резервной копии конфигурационного файла после обновления системы, следует перейти в каталог: /mnt/livemedia/ublinux/
и восстановить необходимую копию из резервных с именем: ublinux.ini.~n~
.
Для восстановления исходного конфигурационного файла необходимо взять файл ublinux.ini из архива: /mnt/livemedia/ublinux/ublinux-data.tar.xz
и скопировать его с заменой в каталог: /mnt/livemedia/ublinux-data/
.
Файл
ublinux.ini
, расположенный в архивеublinux-data.tar.xz
, является исходным конфигурационным файлом, с параметрами, установленными по умолчанию.
Редактировать конфигурационный файл ublinux.ini можно используя терминальную утилиту или напрямую изменяя файл.
Для прямого редактирования файла ublinux.ini необходимо открыть его с правами root через любой текстовый редактор:
sudo vim /mnt/livemedia/ublinux-data/ublinux.ini #пример открытия через vim
sudo gedit /mnt/livemedia/ublinux-data/ublinux.ini #пример открытия через графический текстовый редактор
Файл ublinux.ini позволяет вносить изменения в другие файлы. Для этого необходимо сначала указать путь до файла:
[/path/filename]a+x [/bin/bash] #Если файла нет, он будет создан с правами по умолчанию и chmod a+x.
Параметр [/bin/bash]
является необязательным и прописывается в том случае, когда файл необходимо с чем-то запустить. Возможные варианты запуска с:
Далее указать параметры:
Параметр=значение # меняет параметр в файле на нужное значение. Если параметра нет, строка будет добавлена в конец файла.
# Например:
DEFAULTUSER=superadmin
+строка # добавит строку в файл, если она ещё не прописана в нём.
|строка # добавит строку в файл без проверки.
-выражение # удаляет строки соответствующие выражению (см info sed). Если указать .* то будут удалены все строки.
Включение имеющихся параметров происходит путем раскомментирования строки.
Группы файлов с параметрами отделяются от других путем к файлу и решеткой:
[/etc/ublinux/config]
################################################################################
VERSION=2.41
DEFAULTUSER=superadmin
[/etc/ublinux/network]
################################################################################
IPV6=no
NTPSERVERS=dhcp
После редактирования необходимо обязательно сохранить файл.
Команда | Описание |
---|---|
services_enable | Перечень сервисов/юнитов который должен быть запущен, разделитель , или ;. Пример: services_enable=sbm,nmb,cockpit.socket |
services_disable | Перечень сервисов/юнитов который должен быть выключен, разделитель , или ;. Пример: services_disable=sbm,nmb,cockpit.socket |
Настройки конфигурации
Версия конфигурации:
VERSION=2.41
Дополнительные параметры загрузки, только для управления модулями:
#CMDLINE="noload=/12,/92 findswap"
Базовые настройки системы
Имя рабочей станции (хоста):
HOSTNAME=ubstation
Номер машины, который попадает в /etc/machine-id.
Можно привязать к носителю, указав свой номер (в формате вывода утилиты md5sum), например: echo mynumber | md5sum
#MACHINEID=91ec1cd57b484d479893f012b26f89ea
#MACHINEID=hardware
MACHINEID=hardware
Включить сервисы/юниты (можно указывать службы inetd).
Синтаксис:
#SERVICES_ENABLE=<service_1>,<service_n>
Где:
Для работы в WINDOWS сетях с DNS NETBIOS, включить NSSWITCHWINBIND=yes и добавить:
SERVICES_ENABLE++=nmb,winbind
Для VMWareWorkstation: vmware-networks, vmware-usbarbitrator
Для bluetooth: bluetooth
SERVICES_ENABLE=dbus-broker,NetworkManager,sshd,swapspace,systemd-timesyncd,cups,cockpit.socket,avahi-daemon,avahi-dnsconfd,smb,nmb,winbind,bluetooth
Отключить сервисы/юниты, включенные по умолчанию.
Синтаксис:
#SERVICES_DISABLE=<service_1>,<service_n>
Где:
#SERVICES_DISABLE=<service_1>,<service_n>
Заблокировать и отключить сервисы/юниты, включенные по умолчанию.
Синтаксис:
#SERVICES_MASK=<service_1>,<service_n>
Где:
#SERVICES_MASK=adb
Разблокировать сервисы/юниты, выключенные по умолчанию.
Синтаксис:
#SERVICES_UNMASK=<service_1>,<service_n>
Где:
#SERVICES_UNMASK=adb
Включить Apparmor:
#APPARMOR=yes
Apparmor по умолчанию отключен.
Установка глобальных и пользовательских переменных окружения. Синтаксис:
## ENVIROMENT[system:<var>]=<value>
## ENVIROMENT[profile:<var>]=<value>
## ENVIROMENT[<user>:<var>]=<value>
Где:
Примеры:
#ENVIROMENT[system:VAR_SYS]="my value for system"
#ENVIROMENT[profile:VAR_PROFILE]="my value for all users"
#ENVIROMENT[superadmin:VAR_USER]="my value for select user"
Профиль конфигурации PAM авторизации, authselect. Синтаксис:
## AUTHPAM[<profile>]=<feature>|disable|no|off
Где:
Опция | Описание |
---|---|
<profile> | - \minimal - локальные пользователи только для минимальных установок, значение используемое по умолчанию; - nis - включить NIS для системной аутентификации; - sssd - включить SSSD для системной аутентификации (также для локальных пользователей); - winbind - включить winbind для системной аутентификации. |
<feature> | Функции для профиля. Доступные функции: • with-altfiles with-ecryptfs with-faillock with-files-access-provider with-files-domain with-pamaccess with-silent-lastlog with-sudo with-systemd-homed with-time without-nullok • with-fingerprint with-pam-u2f with-pam-u2f-2fa without-nullokwithout-pam-u2f-nouserok • with-smartcard with-smartcard-lock-on-removal with-smartcard-required • with-mdns4 with-mdns6 with-mkhomedir with-mkhomedir-simple with-nispwquality |
disable|no|off | Отключить выбор профиля. |
Примеры
#AUTHPAM[minimal]=with-faillock,with-time,with-systemd-homed
#AUTHPAM[sssd]=with-faillock,with-time,with-systemd-homed,with-mkhomedir-simple
#AUTHPAM=disable
Профили:
/usr/share/authselect/vendor
.
Информация о профиле:
authselect show sssd
.
Алгоритм сжатия модулей по умолчанию:
#MKSQFS_OPTS="-b 512K -comp xz -Xbcj x86"
Алгоритм сжатия, используемый для сохранения изменений в модуль:
#MKSQFS_FASTALG="-b 512K -comp lz4 -Xhc"
Базовые настройки аппаратного обеспечения
Настройка принтера:
#PRINTERADD=manual (default)
#PRINTERADD=auto
Где:
Обновлять кеш библиотек при старте. Полезно при использовании модулей от старых сборок:
#RUNLDCONFIG=yes
Где:
Обновление базы данных модулей, если используются сторонние модули ядра или видео проприетарное:
DEPMOD=yes
Включение pulseaudio (yes, no):
#PULSEAUDIO=yes
Установить звуковое устройство по умолчанию для ALSA, к примеру для вывода звука через HDMI (вывести устройства: aplay -l
):
#ALSACARD=1
#ALSADEVICE=7
Базовые настройки пользователей и групп
Пароль пользователя по умолчанию — «ublinux»
Команды для получения хеша:
openssl passwd -6 %password%
mkpasswd2 -m sha256crypt %password%
# Вывести справку
mkpasswd2 -m help
Хэш пароля для пользователя по умолчанию (стандартно ublinux).
Если пароль стандартный, то будет включен первый запуск для настройки системы: отображение подсказки на фоне рабочего стола и "[config] firstboot=yes":
DEFAULTPASSWD='$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnKCzKe2zHu1/wmsiWBHZEIk/IQnk/aELQYbUK93OUtrwg60'
Команды для получения хеша:
openssl passwd -6 %password%
mkpasswd2 -m sha256crypt %password%
# Вывести справку
mkpasswd2 -m help
Пароль root по умолчанию — «ublinux»
Хеш пароля для пользователя root (стандартно ublinux):
#DEFAULTROOTPASSWD='$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnKCzKe2zHu1/wmsiWBHZEIk/IQnk/aELQYbUK93OUtrwg60'
Имя пользователя по умолчанию — «superadmin»
Имя пользователя по умолчанию, будет добавлен в группу whell, при условии если переменная NEEDEDUSERS пустая (стандартно superadmin):
#DEFAULTUSER=superadmin
Алгоритм хеширования паролей (возможные значения: des, md5, yescrypt, gost-yescrypt, scrypt, bf, bcrypt, sha512crypt, sha256crypt, md5crypt, descrypt
)
Алгоритмы GOST R 34.11-2012 (Streebog): gost-yescrypt
Отключены: sunmd5, bcrypt-a, bsdicrypt, nt:
#HASHPASSWD=yescrypt
Параметр будет удален!
Данный параметр устарел и поддерживается для совместимости со старыми версиями конфигурационного файла.
Если параметр будет добавлен, то он будет преобразован в новый формат.
Пользователи системы (упрощённый аналог параметра USERADD). Пользователи перечисляются через запятую:
Синтаксис:
## NEEDEDUSERS='name_user:id:password:show_name:, ... '
Где:
NEEDEDUSERS='superadmin:1000:x:Администратор'
Если password = x, то устанавливается знаечние из $DEFAULTPASSWD
Добавить пользователя системы в /etc/passwd
. Если пользователь существует, то без изменений:
## USERADD[user_name]='gecos:uid:user_group:extra_groups:optional:password_hash|x'
Значения USERADD:
Параметр | Опция |
---|---|
user_name | Имя пользователя, обязательное поле. |
gecos | Поле учётной записи GECOS. |
uid | UID пользователя, если необходимо автоматически рассчитывать, то оставить пустым или 'x'. |
user_group | Основная группа пользователя, если выбрано пусто или 'x', то 'user_group=user_name'. |
extra_groups | Дополнительные группы пользователя. Дополнительные к USERGROUPS. Если группа отсутствует или 'x', то 'extra_groups=users'. Если группа не существует, то будет создана. Перечисление через запятую. |
optional | Дополнительные параметры, например: --home-dir <ДОМ_КАТ> - Домашний каталог новой учётной записи -s, --shell /usr/bin/bash - Регистрационная оболочка новой учётной записи; -r, --system - Создать системного пользователя; -M, --no-create-home - Не создавать домашний каталог пользователя; -N, --no-user-group - Не создавать группу с тем же именем что и у пользователя; -o, --non-unique - Разрешить создание пользователей с повторяющимися (не уникальными) UID; |
password_hash|x | Хеш пароля пользователя, если выбрано 'x', то 'password_hash=${DEFAULTPASSWD}'. Если первые символы (!*) то аутентификация запрещена. Если первый символ (*) или (!), то аутентификация по паролю заблокирована. Но другие методы входа, такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены. |
Команды для получения хеша:
openssl passwd -6 %password%
mkpasswd2 -m sha256crypt %password%
mkpasswd -m help
Примеры:
## USERADD[superadmin]='Администратор:1000:x:x:x:$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnKCzKe2zHu1/wmsiWBHZEIk/IQnk/aELQYbUK93OUtrwg60'
## USERADD[user-1]=x
## USERADD[user-1]='Пользователь-1:x:x:vboxusers,libvirt:-s /usr/bin/bash -o:$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnKCzKe2zHu1/wmsiWBHZEIk/IQnk/aELQYbUK93OUtrwg60'
Синхронизировать пользователей системы (/etc/passwd
) с глобальной конфигурацией:
USERADD_SYNC[user_name]='boot,shutdown'
Значения USERADD_SYNC:
Параметр | Опция |
---|---|
user_name | Имя пользователя, необязательное поле, если не указано, то применяется для всех пользователей |
boot | При загрузке системы принудительно применить глобальную конфигурацию на пользователя |
shutdown | При завершении работы системы синхронизировать указанных пользователей в системе с глобальной конфигурацией |
Изменение параметров срока действия пароля пользователей. Если пользователь существует, то не изменяется.
Синтаксис:
USERSHADOW[user_name]='lastchanged:minday:maxday:warn:inactive:expire'
Значения USERSHADOW:
Параметр | Опция |
---|---|
user_name | Имя пользователя, обязательное поле |
lastchanged | Дата последнего изменения пароля. Указывается в днях. Количество дней исчисляется с 1 января 1970 года (дата эпохи) |
minday | Минимальное количество дней действия пароля, прежде чем пароль пользователя может быть изменен. По умолчанию 0 означает отсутствие минимального срока действия пароля |
maxday | Максимальное количество дней действия пароля после смены пароля пользователя. По умолчанию этот номер установлен на 99999 |
warn | Количество дней предупреждения, в течение которого пользователь получает предупреждение о необходимости изменения пароля |
inactive | Количество дней не активности пароля до отключения учетной записи пользователя. По умолчанию пустое |
expire | Дата, когда учетная запись была отключена. Указывается в днях. Количество дней исчисляется с 1 января 1970 года (дата эпохи) |
<null> | Если один из параметров не задан (содержит пустое значение), то исходное значение не изменяется |
Примеры:
## USERSHADOW[superadmin]=2024-01-01:0:99999:7::
## USERSHADOW[superadmin]=18009:0:120:7:14::
Конвертировать количество дней в дату можно командой:
date --date=@$(( DDDDD*(60*60*24) ))
# или
date --date=@EPOCH
Где:
Группы системы:
GROUPADD[group_name]='group_users:gid:optional:password_hash|x'
Параметр | Опция |
---|---|
group_name | Имя группы |
group_users | Пользователи группы, перечисление через запятую. Может быть пусто. |
gid | GID группы, если необходимо автоматически рассчитывать, то оставить пустым или 'x' |
optional | Дополнительные параметры, например: '--system --non-unique': -o, --non-unique - разрешить создание групп с повторяющимися (не уникальными) GID; -r, --system - создавать системную группу. |
password_hash|x | Хеш пароля группа: x - группа без пароля; password_hash - результат команды: openssl passwd -6 password |
Пример:
## GROUPADD[g_department_1]=ob.ivanov,rv.smirnov
## GROUPADD[g_department_2]='ob.ivanov,rv.smirnov:1001:$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnKCzKe2zHu1/wmsiWBHZEIk/IQnk/aELQYbUK93OUtrwg60'
Синхронизация групп системы /etc/groups
и их параметры /etc/gshadow
с глобальной конфигурацией
GROUPADD_SYNC[group_name]='shutdown'
Где:
Группы, в которых будут состоять пользователи (по умолчанию: scanner,power,audio,lp,optical,storage,video,sambashare,vboxusers,libvirt):
#USERGROUPS=scanner,power,audio,lp,optical,storage,video,sambashare,vboxusers,libvirt
Обновлять домашний каталог при загрузке если он уже существует:
#UPDATEHOME=yes
Где:
Настройка параметра через ubconfig.
Помещать пользователя с ID 1000 в группу Администраторов whell:
## ADDADM=*yes|no
Где:
Настройка репозиториев и обновления системы
Настройка подключения репозиториев.
Синтаксис:
##REPOSITORY[<name_repo>]= disable
##REPOSITORY[<name_repo>]= <siglevel>:<usage>:<server_path_1>,<server_path_2>,...,<server_path_n>
Где:
Параметр | Опция |
---|---|
name_repo | Произвольное имя репозитория (обязательно). Значение "disable" отключает репозиторий. |
siglevel | Уровень проверки подписи репозитория, можно выбрать одну из основных и вторую из дополнительных, разделитель запятая (необязательно): - Never - (основная) - проверка подписи выполняться не будет: - PackageNever - (доп.) - только для пакетов; - DatabaseNever - (доп.) - только для пакетов. - Optional - (основная) - подписи будут проверяться при их наличии, но неподписанные базы данных и пакеты также будут приниматься: - PackageOptional - (доп.) - только для пакетов; - DatabaseOptional - (доп.) - только для пакетов (по умолчанию). - Required - (основная) - подписи будут необходимы для всех пакетов и баз данных (по умолчанию): - PackageRequired - (доп.) - только для пакетов; - DatabaseRequired - (доп.) - только для пакетов. - TrustedOnly - (основная) - если подпись проверяется для пакетов и базы, она должна находиться в связке ключей и быть полностью доверенной: - PackageTrustedOnly - (доп.) - только для пакетов; - DatabaseTrustedOnly - (доп.) - только для пакетов. - TrustAll - (основная) - если подпись проверена, она должна находиться в связке ключей, но ей не требуется назначать уровень доверия: - PackageTrustAll - (доп.) - только для пакетов; - DatabaseTrustAll - (доп.) - только для пакетов. |
usage | Уровень использования этого репозитория (необязательно): - All - включать все перечисленные функции для репозитория (по умолчанию) - Sync - включать обновления для этого репозитория - Search - включать поиск этого репозитория - Install - включать установку пакетов из этого репозитория во время операции --sync - Upgrade - позволить этому репозиторию быть действительным источником пакетов при выполнении --sysupgrade |
**server_path_n** | Полный URL-адрес места (или несколько), где можно найти базу данных, пакеты и подписи (если доступны) для этого репозитория (обязательно):<br> - **\<file>** - если указан доступный файл, то подключить как дополнительный файл расширения конфигурации;<br> - **file://** - URL префикс для репозитория в каталоге; <br> - **ftp://** - URL префикс для репозитория FTP; <br> - **http://** - URL префикс для репозитория HTTP; <br> - **https://** - URL префикс для репозитория HTTPS.
Примеры:
## REPOSITORY[modules]=::http://192.168.0.1:8080/repo/2204
## REPOSITORY[webmyrepo]=never::http://myweb.org/myrepo
## REPOSITORY[localmyrepo]=never::file:///home/myrepo
Публикация локального репозитория в локальной сети (подключение к сети распределенных репозиториев).
При установке пакет ищется в распределённой сети репозиториев и устанавливается самой последней доступной версией.
Синтаксис:
## REPOPUBLIC_NET=<name_repos_1>,...,<name_repos_n>
Где <name_repos>:
Примеры:
## REPOPUBLIC_NET=all
## REPOPUBLIC_NET=modules
Публикация локального репозитория в виде локального WEB ресурса.
Синтаксис:
## REPOPUBLIC_WEB[<path>]=enable|disable
## REPOPUBLIC_WEB[<path>]=listing:<port>:<auth_name>:<auth_pass>:<auth_hash>
Где:
Параметр | Опция |
---|---|
<path> | Путь до каталога репозитория, который будет опубликован |
enable|disable | Включить/Выключить публикацию |
listing | Включить WEB обозреватель файлов (необязательно) |
<port> | Порт по которому доступен репозиторий. По умолчанию: 8080 (необязательно) |
<auth_name> | Параметры авторизации, имя пользователя (необязательно) |
<auth_pass> | Параметры авторизации, открытый пароль или тип хеша (необязательно): - password - незашифрованный пароль; - sha256 - использовать зашифрованный пароль SHA256; - sha512 # Использовать зашифрованный пароль SHA512 |
<auth_hash> | Зашифрованный пароль SHA256 или SHA512 (необязательно) |
Публикация ленивого зеркала подключенных репозиториев в виде локального WEB ресурса.
Получая запрос от пользователя, загружает с удалённого репозитория пакет и сохраняет в кеше передавая его пользователю.
Синтаксис:
## REPOPUBLIC_CACHE[<path>]=enable|disable:<port>:<server_name_1>@<server_url_1>,...,<server_name_n>@<server_url_n>
Где:
Параметр | Опция |
---|---|
<path> | Путь до каталога файлов кеша, если не указан, то по умолчанию: /mnt/livedata/ublinux-data/repopublic_cache . |
enable|disable | Включить/Выключить публикацию. |
<port> | Порт по которому доступен репозиторий. По умолчанию: 8080 (необязательно). |
<server_name> | Произвольное имя репозитория . |
<server_url> | Полный адрес репозитория URL или файл. Если не указано <server_name>@<server_url>, то по умолчанию системные /etc/pacman.d/mirrorlist . Можно указать несколько, через запятую. |
<file> | Файл списка зеркал, подключается как список зеркал с синтаксисом /etc/pacman.d/mirrorlist (в подключенном списке не должно быть адреса текущего сервера). |
http:// | URL префикс для репозитория на HTTP |
https:// | URL префикс для репозитория на HTTPS |
Примеры:
## REPOPUBLIC_CACHE[/mnt/livedata/ublinux-data/repopublic_cache]=enable
## REPOPUBLIC_CACHE[/mnt/livedata/ublinux-data/repopublic_cache]=enable:80:myrepo@http://192.168.0.1:8080/repo/2204
Настройка автоматического обновления системы.
Синтаксис:
#AUTOUPDATE=enable
#AUTOUPDATE=<mode>:<interval>:<repository>
Параметр | Описание |
---|---|
enable | Включает автообновление с параметрами modsys:boot:core,extra,community,multilib,ublinux,modules |
<mode> | Режимы обновления: - *modsys - сначала обновлять все модули и после систему - module - обновлять только модули - system - обновлять всё в порядке указанных репозиториев |
<interval> | Интервал обновления - *boot - каждую загрузку - 12h - каждые 12 часов - 7d - каждые 7 дней - 1m - один раз в месяц |
<repository> | Имена репозиториев с которых будет выполнено обновление. Если не указано, то по умолчанию: core,extra,community,multilib,ublinux,modules |
Настройка подключения сетевых ресурсов
Каталог с правами 777 доступный всем локальным пользователям и при разрешении всем из сети:
#PUBLICDIR=
По умолчанию
PUBLICDIR=/home/public
.
Автомонтирование каталогов (кодировать пароль в base64: echo 'password' | base64
). Синтаксис:
## AUTOMOUNT_SHARE[mountpoint]='cifs:share:username:password_base64:domain:opt
Где:
echo 'password' | base64
;Примеры:
## AUTOMOUNT_SHARE[/mnt/cifs:share]='cifs://192.168.103.55/share:user:password_base64:domain:noperm,vers=1.0'
## AUTOMOUNT_SHARE[/media/sdb1]='direct:/dev/sdb1:wheel:775:noacl'
## AUTOMOUNT_SHARE[/media/mytag]='virtiofs:mytag:wheel:775:'
## AUTOMOUNT_SHARE[/mnt/sshfs/user-1@192.168.1.1]='sshfs:superadmin@192.168.1.1:/home/user-1:password_base64:'
#AUTOMOUNT_SHARE[/mnt/share2]='cifs://192.168.103.55/share2:share:password_base64:domain:noperm,vers=1.0'
#AUTOMOUNT_SHARE[/media/sda4]='direct:/dev/sda4:wheel:775:noacl'
#AUTOMOUNT_SHARE[/mnt/sshfs/user-1@192.168.1.1]='sshfs:superadmin@192.168.1.1:/home/user-1:password_base64:'
#AUTOMOUNT_SHARE[/mnt/nfs/user-1@192.168.1.1]='nfs:192.168.1.1:/home/user-1'
Подключение всех разделов при старте:
#PARTITIONSAUTOMOUNT=yes
Не подключать указанные разделы:
#PARTITIONSNOMOUNT=boot,hidden
Пользователь - владелец для fat ntfs:
#PARTITIONSMOUNTUID=500
Подключаться к серверу при старте:
#AUTOMOUNTSERVER=yes
Разрешать общий доcтуп к разделам через NFS:
#PARTITIONSSHARE=yes
Исключение для общих разделов:
#PARTITIONSNOSHARE=archive,private
Отключить использование tmpfs для /tmp или /var/tmp при работе с профилем:
#TMPFS=no
#VARTMPFS=no
Настройка аудита и логгирования
Настройка мониторинга и сбора системных событий и записи их в журналы для аудита.
Синтаксис:
## AUDITD[<id_name>]=<rule>
Где:
Примеры:
#AUDITD[event_chmod]="-a always,exit -F arch=x86_64 -S chmod,fchmod,fchmodat -F key=event_chmod"
#AUDITD[passwd_changes]="-w /etc/passwd -p wa -k passwd_changes"
Отключить все созданные правила из конфигурации:
## AUDITD=disable|no|none|off
Настройка журналов. Синтаксис:
JOURNALD[<var>]=<value>
Где:
Значение <var> | Описание |
---|---|
Storage | Указывает, где хранить журнал. Доступны следующие значения: - volatile - Журнал хранится в оперативной памяти, т.е. в каталоге /run/log/journal ; - persistent - Данные хранятся на диске, т.е. в каталоге /var/log/journal ; - auto - Используется по-умолчанию; - none - Журнал не ведётся. |
Compress | Пороговое значение данных для сжатия и записи в ФС. Может принимать: - yes - no - 100M - значение с суффиксом: K, M или G. |
SplitMode | Определяет, следует ли разделять файлы журнала для каждого пользователя: - uid - none |
RateLimitIntervalSec | Настраивает ограничение скорости, которое применяется ко всем сообщениям, интервал времени применения: - 30 - будет установлен интервал в 30 секунд. |
RateLimitBurst | Настраивает ограничение скорости, которое применяется ко всем сообщениям, лимит сообщений - 10000 - будет установлен лимит 10000. |
SystemMaxUse | Указывает максимальное дисковое пространство, которое может использовать журнал в постоянном хранилище: - 10M - значение с суффиксом: K, M или G. |
SystemKeepFree | Указывает объем места, которое журнал должен оставить свободным при добавлении записей журнала в постоянное хранилище: - 10M - значение с суффиксом: K, M или G. |
SystemMaxFileSize | Определяет, до какого размера могут вырасти отдельные файлы журнала в постоянном хранилище перед ротацией: - 10M - значение с суффиксом: K, M или G. |
RuntimeMaxUse | Указывает максимальное дисковое пространство, которое можно использовать в энергозависимом хранилище (в файловой системе /run): - 10M - значение с суффиксом: K, M или G. |
RuntimeKeepFree | Указывает объем пространства, которое будет выделено для других целей при записи данных в энергозависимое хранилище (в файловой системе /run): - 10M - значение с суффиксом: K, M или G. |
RuntimeMaxFileSize | Указывает объем места, которое отдельный файл журнала может занимать в энергозависимом хранилище (в файловой системе /run) перед ротацией: - 10M - значение с суффиксом: K, M или G. |
ForwardToConsole | Перенаправить журнал на консоль: - yes - no |
TTYPath | Изменить используемый консольный TTY, если используется ForwardToConsole=yes. По умолчанию /dev/console. Значение: - /путь/ |
MaxLevelConsole | Тип сообщений перенаправляемые в журнал: - emerg - alert - crit - err - warning - notice - info - debug - 7 - целочисленное значение в диапазоне 0–7. |
Примеры:
#JOURNALD[Storage]=persistent
#JOURNALD[Compress]=yes
#JOURNALD[SystemMaxUse]=8M
#JOURNALD[RuntimeMaxUse]=8M
Настройка дампа ядра (systemd-coredump).
Синтаксис:
SYSTEMD_COREDUMP[<var>]=<value>
Где:
Где:
Значение <var> | Описание |
---|---|
Storage | Указывает, где хранить дамп ядра. Доступны следующие параметры: - journal - дампы будут храниться в журнале и перезаписываться в соответствии со стандартными принципами ротации журналов - external - значение по умолчанию, дампы сохраняются в каталоге /var/lib/systemd/coredump/ - none - дампы ядра записываются (включая обратную трассировку, если возможно), но не сохраняются |
Compress | Используется для сжатия дампов ядра. Принимает логический аргумент - *yes или no |
ProcessSizeMax | Максимальный размер дампа процесса, который может быть сохранен. Если размер дампа превышает значение этого параметра, то дамп сохранен не будет. Суффиксы: B,K,M,G,T,P,E |
ExternalSizeMax | Максимальный (сжатый или несжатый) размер дампа процесса, который будет сохранен на диске |
JournalSizeMax | Максимальный (сжатый или несжатый) размер дампа процесса, который будет сохранен в журнале системы |
MaxUse | Максимальный объем общего дискового пространства, который может быть использован для хранения дампов процессов. Суффиксы: B,K,M,G,T,P,E |
KeepFree | Минимальный объем свободного дискового пространства, который должен оставаться на диске при хранении дампов. Суффиксы: B,K,M,G,T,P,E |
Параметры Storage=none и ProcessSizeMax=0 отключает всю обработку дампа памяти, за исключением записи журнала.
Примеры:
#SYSTEMD_COREDUMP[Storage]=none
#SYSTEMD_COREDUMP[ProcessSizeMax]=0
Настройка ротации файлов логов утилитой logrotate.
## LOGROTATE[<tag>]="<mask_file_1>,<mask_file_2>,<mask_file_n>:<setting_1>,<setting_2>,<setting_n>"
Где:
Настройка частоты проверки:
Настройка | Описание |
---|---|
hourly | Проверка выполнения условий ротации каждый час |
daily | Проверка выполнения условий ротации каждый день |
weekly [weekday] | Проверка выполнения условий ротации каждую неделю, номер [weekday] недели |
monthly | Проверка выполнения условий ротации каждый месяц |
yearly | Проверка выполнения условий ротации каждый год |
size <size> | Размер лога, когда он будет перемещен, в параметре <size> передается цифра с постфиксом k,M,G |
Настройки вращения:
Настройка | Описание |
---|---|
rotate <count> | Указывает сколько старых логов нужно хранить, в параметре <count> передается количество |
olddir <dir> | Перемещать старые логи в отдельную папку |
noolddir | Держать все файлы в одном и том же каталоге |
su <user> <group> | Ротация файлов журналов, установленных под этим пользователем <user> и группой <group> |
Настройки выбора файла:
Настройка | Описание |
---|---|
missingok | Не выдавать ошибки, если файл журнала не существует |
nomissingok | Если файл журнала не существует, выдать ошибку |
ifempty | Ротация файла журнала, даже если он пуст, переопределяя параметр notifempty |
notifempty | Не обрабатывать пустые файлы |
minage <count> | Не меняйте журналы, возраст которых меньше указанного количества дней |
maxage <count> | Удалите ротированные журналы старше счетчика дней |
minsize <size> | Файлы журналов чередуются, когда их размер превышает размер в байтах k,M,G, но не раньше дополнительно указанного интервала времени (daily,weekly,monthly,yearly) |
maxsize <size> | Файлы журналов ротируются, когда их размер превышает размер байтов k,M,G, даже до истечения дополнительно указанного интервала времени (daily,weekly,monthly,yearly) |
Настройки файлов и папок:
Настройка | Описание |
---|---|
create [<mode>] [<user>] [<group>] | Указывает, что необходимо создать пустой лог файл после перемещения старого, не обязательно: <mod> - аттрибуты разрешения; <user> - имя пользователь; <group> - имя группы файла. |
nocreate | Указывает, что необходимо создать пустой лог файл после перемещения старого |
copytruncate | После создания копии, обрезать исходный файл журнала взамен перемещения старого файла журнала и создания нового |
nocopytruncate | Не сбрасывать файл журнала после копирования |
Настройка сжатия:
Настройка | Описание |
---|---|
compress | Указывает, что лог необходимо сжимать |
nocompress | Указывает, что лог не сжимать |
delaycompress | Не сжимать последний и предпоследний журнал |
nodelaycompress | Не откладывать сжатие файла на следующий цикл |
Настройка имени файлов:
Настройка | Описание |
---|---|
extension <ext> | Сохранять оригинальный лог файл после ротации, если у него указанное расширение |
dateext | Добавляет дату ротации перед заголовком старого лога |
start | Номер, с которого будет начата нумерация старых логов |
Настройка сообщения:
Настройка | Описание |
---|---|
mail <mail.ru> | Отправлять Email после завершения ротации |
nomail | Не отправлять содержимое удаляемых (старых) журналов по почте |
mailfirst | Отсылать первую ротированную копию |
maillast | Отсылать последнюю ротированную копию |
Настройка выполнения сценариев:
Настройка | Описание |
---|---|
sharedscripts | Сценарии предварительной и последующей ротации запускаются для каждого ротируемого журнала. Один сценарий может быть запущен несколько раз для записей файла журнала, которые соответствуют нескольким файлам. |
firstaction | Сценарий выполняется один раз перед ротацией всех файлов журналов |
lastaction | Сценарий выполняется один раз после ротации всех файлов журналов |
prerotate | Сценарий выполняется до ротации файла журнала |
postrotate | Сценарий выполняется после ротации файла журнала |
preremove | Сценарий выполняется один раз непосредственно перед удалением файла журнала |
<command_1>,<command_2>,<command_n> | Команды сценария |
endscript | Обязательный операнд после команд сценария firstaction,lastaction,prerotate,postrotate,preremove,endscript |
Пример записи сценария:
sharedscripts,postrotate,/usr/bin/chronyc cyclelogs > /dev/null 2>&1 || true,echo Ok,endscript
Примеры:
#LOGROTATE[samba]="/var/log/samba/log.smbd,/var/log/samba/log.nmbd,/var/log/samba/*.log:notifempty,missingok,copytruncate"
#LOGROTATE[chrony]="/var/log/chrony/*.log:missingok,nocreate,sharedscripts,postrotate,/usr/bin/chronyc cyclelogs > /dev/null 2>&1 || true,endscript"
Настройка загрузчика GRUB
Время отображения меню GRUB для выбора варианта загрузки:
## GRUB_TIMEOUT=<seconds>
## GRUB_TIMEOUT=3
Выбор варианта загрузки GRUB по умолчанию:
## GRUB_DEFAULT=<name_menu>
## GRUB_DEFAULT="UBLinux Desktop Basic 2204 - Песочница в RAM с сохранением профиля пользователя HDD"
Также доступны варианты:
Внимание! Наименование вариантов может быть иное в зависимости от дистрибутива.
Пользователь GRUB для входа в режим редактирования конфигурации загрузки:
## GRUB_SUPERUSERS=<user_1>,<user_2>,<user_n>
GRUB_SUPERUSERS=superadmin
Пароль пользователя GRUB для входа в режим редактирования конфигурации загрузки. Синтаксис:
## GRUB_PASSWORD[<user>]=<password>
Параметр | Описание |
---|---|
user | Имя пользователя |
password | Пароль, в формате grub.pbkdf2 или простым текстом, который автоматически сконвертирует в grub.pbkdf2 |
GRUB_PASSWORD[superadmin]=grub.pbkdf2.sha512.10000.918F54C3C4CDE024A34FDA951FFBAD17D2B8F031A696F22038267FDAC6CF5FEA4FE800880591DBD533C95606A275F170B4F460243A083E89E231B2DAC13467D5.9B3392962D14DE34D6BCD4C559A4A4222ED9C0BF14D15A7E3772DA430513E34F2C96FE324D3FBCC4576C8DDF7B82B7AC8830195CC8886A39B525F070EC236421
Пароль для пользователя superadmin: ublinux-grub
Режим вывода лога загрузки:
GRUB_BOOT_SILENT="splash"
Возможные параметры GRUB_BOOT_SILENT:
Параметр | Описание |
---|---|
splash | Графика plymouth, полный лог |
splash quiet ub.silent | Графика plymouth, нет лога |
quiet ub.silent | Без plymouth, минимальный лог |
plymouth.enable=0 | Без plymouth, полный лог |
loglevel=3 | Позволяет настроить вывод сообщений журнала (логов) загрузки. Уровни: - 0 (KERN_EMERG) Экстренные сообщения (система непригодна для использования) - 1 (KERN_ALERT) Сообщения, требующие немедленного внимания - 2 (KERN_CRIT) Критические условия - 3 (KERN_ERR) Ошибки - 4 (KERN_WARNING) Предупреждения - 5 (KERN_NOTICE) Нормальные, но значимые события - 6 (KERN_INFO) Информационные сообщения - 7 (KERN_DEBUG) Отладочные сообщения |
Устройство ввода для терминала:
## GRUB_TERMINAL_INPUT="console serial"
Устройство вывода для терминала:
## GRUB_TERMINAL_OUTPUT=
Мелодия при включении ПК:
## GRUB_PLAY=<tempo [pitch1 duration1] [pitch2 duration2]>|<file>
## GRUB_PLAY="480 900 2 1000 2 800 2 400 2 600 3"
Аргументы командной строки для загрузки ядра Linux.
Возможные параметры GRUB_CMDLINE_LINUX:
Параметр | Описание |
---|---|
modprobe.blacklist=nouveau | Отключить автоматическую загрузку свободного драйвера nouveau для видеоадаптера NVIDIA |
nomodeset | Отключить выбор и загрузку ядром драйверов видео |
i915.enable_dc=0 | Отключить управление питанием графического процессора |
ahci.mobile_lpm_policy=1 | Максимальная производительность, управление питанием |
intel_idle.max_cstate=1 | Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна |
intel_idle.max_cstate=4 | Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage |
snd-intel-dspcfg.dsp_driver=1 snd-intel-dspcfg.dsp_driver=3 |
Принудительный выбор драйвера звукового устройства от Intel |
security=apparmor | Включает поддержку AppArmor |
usbcore.autosuspend=-1 | Отключить авто засыпание USB устройств в режиме suspend |
ipv6.disable=1 | Отключить глобально ipv6 |
loglevel=3 | Позволяет настроить вывод сообщений журнала (логов) загрузки. Уровни: - 0 (KERN_EMERG) Экстренные сообщения (система непригодна для использования) - 1 (KERN_ALERT) Сообщения, требующие немедленного внимания - 2 (KERN_CRIT) Критические условия - 3 (KERN_ERR) Ошибки - 4 (KERN_WARNING) Предупреждения - 5 (KERN_NOTICE) Нормальные, но значимые события - 6 (KERN_INFO) Информационные сообщения - 7 (KERN_DEBUG) Отладочные сообщения |
## GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
Выбор загрузки версии ядра. Если параметр не задан, то загрузка выполняется с самой последней установленной версией.
Синтаксис:
KERNEL_BOOT=<пакет>
Где:
Перед выбором версии ядра следует убедиться, что необходимые модули установлены.
Настройка сервера
Задать путь хранилища контейнеров containers/podman/docker
## STORAGE_CONTAINERS_PATH=<путь>|y|yes|enable
Где:
/mnt/livedata/storage.containers
.Пример:
#STORAGE_CONTAINERS_PATH=yes
Создать хранилище образов для libvirt как движок контроллера виртуализации openvz, kvm, qemu ,virtualbox, xen и другие:
## STORAGE_LIBVIRT_PATH=<путь>|y|yes|enable
/mnt/livedata/storage.libvirt
.Пример:
#STORAGE_LIBVIRT_PATH=yes
Использовать сервер как контроллер домена:
## SERVER_DOMAIN=<REALM>
## SERVER_DOMAIN[type]=<TYPE>
## SERVER_DOMAIN[adadmin]=<USER_ADMIN>:<PASSWORD_BASE64>'
## SERVER_DOMAIN[dns_backend]=internal|bind
## SERVER_DOMAIN[dns_forwarder]=<IP_ADDRESS>
Примеры:
#SERVER_DOMAIN=ubdc.ru
#SERVER_DOMAIN[type]=samba
#SERVER_DOMAIN[admin]=administrator:0J3QvtCy0YvQuV/QlNC10L3RjCEK
Включить публикацию каталога usershares
в сети:
SAMBA_USERSHARE=enable
Где:
Настройка параметров:
SAMBA_USERSHARE[<param>]=<value>
Где <param>:
Настройка UBPILE.
Синтаксис:
## UBPILE=<var>
Где:
Параметр | Описание |
---|---|
primary | Выступать в роли главного сервера управляющего всеми 'Worker' |
worker | Исполнитель заданий приходящих от сервера 'Primary' |
disable | Отключить |
clean | Очистить БД и вернуть настройки по умолчанию. После процедуры очистки установится UBPILE=disable |
Синтаксис:
## UBPILE[<var>]=<value>
Параметр | Описание |
---|---|
secretkey | При настройке нескольких серверов все ваши серверы должны иметь один и тот же секретный ключ. Любая случайно сгенерированная строка подойдет |
base_app_url | Полный URL-адрес, включая http порт, если он нестандартный. Это используется в электронных письмах для создания URL-адресов с самостоятельными ссылками |
email_from | Адрес электронной почты, который будет использоваться в качестве адреса "От" при отправке уведомлений |
smtp_hostname | Имя хоста вашего SMTP-сервера для отправки почты. Так-же это может быть 127.0.0.1 или localhost |
debug_level | Уровень детализации в журналах отладки. Он варьируется от 1 (очень тихо) до 10 (очень громко). Значение по умолчанию — 4 |
job_memory_max | Максимальное ограничение памяти по умолчанию для каждого задания, по умолчанию: 1073741824 (1Гб) |
server_comm_use_hostnames | Разрешить серверам подключаться друг к другу по именам хостов, полезно с меняющимися IP адресами. Значения: *false, true |
web_direct_connect | Разрешить веб-интерфейсу прямое подключение к главному серверу, полезно при использовании нескольких резервных серверов или балансировщик нагрузки, или обратного прокси. Значения: *false, true |
web_socket_use_hostnames | Разрешить веб-интерфейсу подключаться к внутренним серверам, используя их имена хостов, а не IP-адреса. Значения: *false, true. Это свойство вступает в силу только в том случае, если web_direct_connect=true |
WebServer.http_port | Номер порта http веб-сервера для пользовательского интерфейса. По умолчанию: 9012 |
WebServer.https | Включить HTTPS, чтобы пользовательский интерфейс был зашифрован SSL. Значения: *false, true |
WebServer.https_port | Номер порта https веб-сервера для пользовательского интерфейса. По умолчанию: 9013 |
... | Могут использоваться любые переменные конфигурационного файла config.json |
Примеры:
## UBPILE=disable
## UBPILE[secret_key]="4a6ed27e0434490028ff63b11f12fb7c"
## UBPILE[base_app_url]="http://localhost:80"
## UBPILE[web_direct_connect]="true"
Использование для UBPile преднастроенного обратного прокси, разместив приложение на указанном порту.
UBPILE_REVERSE_PROXY_PORT=80
Настройка сохранений
Сохранять кэши при перезагрузке/выключении, ускоряет загрузку системы:
SAVE_ALL_CACHE=rootcopy
Работает только в режимах песочницы. Не работает в режиме полного сохранения.
При перезагрузке/выключении, сохранить/перезаписать указанные каталоги/файлы <SAVE_ROOTCOPY_CHANGES>
и <SAVE_ROOTCOPY_INCLUDE>
, кроме <SAVE_ROOTCOPY_EXCLUDE>
в /ublinux-data/rootcopy/
.
Примечание: При загрузке весь каталог /ublinux-data/rootcopy копируется в корень.
В режиме песочницы - потребляет свободное ОЗУ.
В режиме сохранения - заменяет файлы в корне.
Примеры:
#SAVE_ROOTCOPY_CHANGES="/etc"
#SAVE_ROOTCOPY_INCLUDE="/etc/pacman.d/gnupg,/etc/NetworkManager/system-connections"
#SAVE_ROOTCOPY_EXCLUDE="/etc/ublinux"
Настройка сети
Подключение к AD серверу:
#DOMAIN=ublinux.ru
Сервер контроллера домена/kerberos. Отключить автопоиск сервера контроллера домена/kerberos и задать статический:
## DOMAIN[server]=pdc.ublinux.ru
Клиент для подключения к домену [ *realmd_sssd | realmd_winbind | samba | none ]:
## DOMAIN[client]=realmd_sssd
Пользователи имеющие права ввода в домен. Применяется, если необходимо автоматизировать ввод в домен с большого числа ПК, или при работе в режиме полной песочницы, где невозможно сохранить.
Кодировка пароля в base64: echo 'ublinux' | base64
.
## DOMAIN[admanger]=USER_ADMIN:password_base64'
## DOMAIN[admanger]=Администратор:0J3QvtCy0YvQuV/QlNC10L3RjCEK
Группа на контроллере домена, пользователи которой будут иметь права для sudo:
## DOMAIN[group:sudoers]=sudoers@ublinux.ru
Группа на контроллере домена, пользователи которой будут иметь права для доступа по ssh:
## DOMAIN[group:ssh]=sudoers@ublinux.ru
Ограничить пользователей, которым разрешён вход в домен:
## REALM_PERMIT[user]=user-1@ublinux.ru,user-2@ublinux.ru,ublinux.ru\\user-3
## REALM_PERMIT[group]=ublinux_group@ublinux.ru
## REALM_PERMIT[user]=user-1@ublinux.ru
При методе подключения DOMAIN_CLIENT=realmd_sssd. Задать параметры в /etc/sssd/sssd.conf
для домена:
## REALM_SSSD[параметр:имя_секции]=значение
Если "имя_секции" не указан, то по умолчанию используется секция текущего домена = domain/$
## REALM_SSSD[services:sssd]=nss,pam,pac,ssh
## REALM_SSSD[default_shell:nss]=/bib/bash
## REALM_SSSD[ad_hostname:domain/mydomain.ru]=hostname.mydomain.ru
Короткие имена пользователей домена "user" | полные "user@domain.ru" [False|*True]:
## REALM_SSSD[use_fully_qualified_names]=False
Строить карту всех пользователей домена на локальном ПК [False|*True]:
## REALM_SSSD[ldap_id_mapping]=False
Перечисление всех пользователей и групп, нагружает сервер домена при большом числе пользователей [*False|True]:
## REALM_SSSD[enumerate]=True
Задать статическое имя PC в домене pc_name.domain.ru:
## REALM_SSSD[ad_hostname]=hostname.mydomain.ru
Обновлять Kerberos .keytab одновременно у sssd и samba [*False|True]:
## REALM_SSSD[ad_update_samba_machine_account_password]=True
Формат файла Kerberos .keytab пользователя /tmp/krb5cc_123456879:
## REALM_SSSD[krb5_ccname_template]=FILE:%d/krb5cc_%U
Рабочая группа samba:
#SAMBADOMAIN=SMBGROUP
Настройка сетевого интерфейса. Синтаксис:
## NETWORK[<UNIT>@<COMMAND>]=<VALUE>
Где <UNIT>:
Где <COMMAND>:
nmcli <VALUE>
nmcli device wifi <VALUE>
nmcli connection import type openvpn file <VALUE>
nmcli connection add connection.id <DEVICE> connection.type vpn vpn.service-type pptp <VALUE>
nmcli connection add connection.id <DEVICE> connection.type vpn vpn.service-type l2tp <VALUE>
nmcli device modify <DEVICE> <VALUE>
nmcli device up <DEVICE>
nmcli device down <DEVICE>
nmcli connection modify <UUID> <VALUE>
nmcli connection up uuid <UUID>
nmcli connection down uuid <UUID>
Где:
nmcli -p connection show \<CONNECTION> | nmcli -p device show \<DEVICE>
Где если <COMMAND> = wifi, то <VALUE>:
Где если <COMMAND> = add-pptp или add-l2tp, то <VALUE>:
Где если <COMMAND> = devmod, то <VALUE>:
Где если <COMMAND> = connmod, то <VALUE>:
Примеры:
## NETWORK[myopenvpn@imp-ovpn]="/home/superadmin/vpn/myopenvp.ovpn"
## NETWORK[wifi@wifi]="connect MyWiFi password 1234567890 hidden yes"
## NETWORK[PPTP_VPN@add-pptp]="vpn.data gateway=192.168.215.254 vpn.user-name vpn.test-1 vpn.secrets password=1234567890 connection.permissions user:superadmin"
## NETWORK[enp3s0@connmod]="connection.secondaries PPTP_VPN"
## NETWORK[L2TP_IPSEC_VPN@add-l2tp]='connection.autoconnect no ipv4.method auto vpn.data "gateway = <IP>, ipsec-enabled = yes, ipsec-psk = 0s"$(base64 <<< '<PSK>' | rev | cut -c2- | rev)"=, mru = 1400, mtu = 1400, password-flags = 0, refuse-chap = yes, refuse-mschap = yes, refuse-pap = yes, require-mppe = yes, user = <USER>" vpn.secrets password=<PASSWORD>'
## NETWORK[all@devup]=yes
## NETWORK[enp3s0@devdown]=yes
## NETWORK[Проводное соединение 1@connmod]="ipv4.method manual ipv4.addr 192.168.1.2/24,10.10.1.5/8 ipv4.gateway 192.168.1.254 ipv4.dns 192.168.1.254,8.8.8.8"
## NETWORK[Проводное соединение 2@connmod]="802-3-ethernet.cloned-mac-address 00:22:22:22:22:22"
## NETWORK[wlan0@connmod]="wifi.cloned-mac-address 70:70:70:70:70:70"
Адрес сервера по умолчанию:
#UBLINUXSERVER=192.168.1.31
Адрес сети по умолчанию:
#NETWORKIP=192.168.1.
Включение ipv6 по умолчанию на всех интерфейсах:
IPV6=no
Серверы времени. Синтаксис:
##NTPSERVERS=dhcp|default|ntp-ru|stop|disable|<servers>
Где:
','
или ';'
, например =ntp1.vniiftri.ru,ru.pool.ntp.org
;NTPSERVERS=dhcp
Добавить порядок поиска DNS: avahi
NSSWITCHAVAHI=yes
Добавить порядок поиска DNS: winbind
NSSWITCHWINBIND=yes
Где:
Установка системных прокси для HTTP, HTTPS, FTP, SOCKS, RSYNC и адреса исключений EXCLUDE.
Для применения требуется перелогиниться.
Синтаксис:
PROXY_SYSTEM[<PROTOCOL>]=<SERVER>
Где:
<PROTOCOL>=<null>|http|https|ftp|socks|rsync|all|auto|exclude
:
Внимание, подстановочные символы (звёздочка) и CIDR нотации не поддерживаются!
<SERVER>=no|n|none|disable|<ADDRESS>
Если пароль содержит специальные символы, необходимо их заменить их на ASCII коды. Например символ собаки @, должен быть заменен на «%40».
Если указан <PROTOCOL>=auto, то указывается путь до файла конфигурации, http://my.proxy.org/foo.pac.
Примеры использования:
PROXY_SYSTEM=disable
PROXY_SYSTEM[https]=http://user:password@192.168.1.1:443
PROXY_SYSTEM[http]=http://127.0.0.1:8118
PROXY_SYSTEM[https]=https://127.0.0.1:8118
PROXY_SYSTEM[ftp]=ftp://127.0.0.1:8118
PROXY_SYSTEM[socks]=socks://127.0.0.1:9050
PROXY_SYSTEM[exclude]=localhost,127.0.0.1,::1,192.168.1.1,192.168.2.0/24
Для совместного доступа к интернету можно включить режим шлюза. Также необходим при связывании нескольких сетей (wlan0 eth0 eth1 ...):
#ROUTER=yes
Исключения для межсетевого экрана iptables:
#IPTABLESOPENPORTSTCP=21,22,30001,6881
#IPTABLESOPENPORTSUDP=30002,6881
Для работы в режиме сервера, шлюза и точки доступа необходимо открыть доступ из локальной сети:
#IPTABLESTRUSTEDIP=192.168.1.0/16
Переправлять весь поток от пользователей через TOR. Пользователей можно задавать в виде имени, номера и диапазона.
#TORUSERS=500-999
Должна быть включена служба tor!
Настройка безопасности, ограничений.
Включить поддержку OpenSSL алгоритмов ГОСТ GOST2012-GOST8912-GOST8912 GOST2001-GOST89-GOST89
## OPENSSL_ENGINE=gost
Отключить виртуальные терминалы и запретить переключение на них из X11:
## ACCESS_DENIED_VTX11=yes|no*|enable|disable
## ACCESS_DENIED_VTX11=yes
Управление доступом в систему, правила разрешения.
/etc/security/access.conf
Предостережение: порядок правил имеет значение. Проверяется последовательно и будет применено первое подходящее правило.
Первыми обрабатываются правила ACCESS_ALLOWED_LOGIN, после правила ACCESS_DENIED_LOGIN.
Синтаксис:
## ACCESS_ALLOWED_LOGIN=rule_1,rule_2,rule_n
Формат правила:
users/groups:origins
, где:
users/groups — список пользователей или групп пользователей или ключевое слово ALL;
origins — список TTY (для локального доступа), имен хостов, доменных имен, IP-адресов, ключевое слово ALL или LOCAL.
Правила (rule_n):
Правило | Описание |
---|---|
root:cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6 vc/1 superadmin:foo1.bar.org foo2.bar.org .foo.bar.org |
Пользователю root разрешен доступ через cron, X11 терминал :0, tty1, ..., tty6, vc/1 |
@admins foo:ALL | Пользователю foo и членам администраторов сетевой группы admins разрешен доступ |
@usergroup@@hostgroup:ALL | Членам группы usergroup и группы хостов hostgroup разрешен доступ |
DOMAIN.ORG\Domain Admins:ALL | Пользователям, входящих в группу "Domain Admins" домена DOMAIN.ORG, разрешен доступ |
(wheel):ALL | Членам группы wheel разрешен доступ |
ALL:LOCAL | Разрешить локальным учетным записям вход в систему локально |
ALL EXCEPT root: 192.168.0. | Разрешить всем, кроме root, входить в систему из под указанной маски сети |
Пример:
## ACCESS_ALLOWED_LOGIN="(users)::0 :1 :2 :3 tty2,(wheel):127.0.0.1 ::1,(wheel):ALL"
Управление доступом в систему, правила блокировки:
/etc/security/access.conf
Синтаксис:
## ACCESS_DENIED_LOGIN=rule_1,rule_2,rule_n
Правила (rule_n):
Правило | Описание |
---|---|
root:ALL | Пользователю root должно быть отказано в доступе из всех источников |
root:ALL EXCEPT LOCAL | Запретить root вход через сеть |
wheel:ALL EXCEPT LOCAL .domain.org | Запретить нелокальный вход в привилегированные учетные записи группы wheel |
ALL EXCEPT root:tty1 | Запретить вход без полномочий root на tty1 |
ALL EXCEPT superadmin:ALL | Разрешить доступ только пользователю superadmin и никому больше |
ALL EXCEPT (wheel) shutdown sync:LOCAL | Запретить вход в консоль для всех учетных записей, кроме shutdown, sync и входящих в группу wheel |
ALL EXCEPT (wheel):tty1 tty2 tty3 tty4 tty5 tty6 vc/1 localhost | Запретить вход в консоль tty для всех учетных записей, кроме входящих в группу wheel |
DOMAIN.ORG\Domain Users:ALL | Пользователям, входящих в группу "Domain Users" домена DOMAIN.ORG, запретить доступ |
ALL:ALL | Всем остальным пользователям запретить доступ |
## ACCESS_DENIED_LOGIN="root:ALL,ALL:ALL"
Блокировать макросы приложений:
BLOCK_APP_MACROS=yes
Отключить влияние SUID бита на привилегии порождаемого процесса всем, кроме указанных исключений в ACCESS_ALLOWED_SUID
:
Синтаксис:
## ACCESS_ALLOWED_SUID[<find_path_1> <find_path_n> <options>]=<file_1>,<file_2>,<file_n>
где Find path:
[]
, то будут выбраны пути поиска ="/usr/bin /usr/local/bin /usr/local/sbin /home";где Options:
где Files:
## ACCESS_ALLOWED_SUID[/usr/bin]=vmware-user-suid-wrapper,Xvnc,vncserver-x11,veyon-auth-helper,at,cdda2wav,cdrecord,chage,chfn,chsh,crontab,cu,expiry,firejail,fusermount,fusermount-glusterfs,fusermount3,gpasswd,ksu,mount,mount.cifs,mount.ecryptfs_private,mount.nfs,newgrp,passwd,pkexec,readcd,rscsi,screen-4.9.0,sg,su,sudo,suexec,umount,unix_chkpwd,uucico,uucp,uuname,uustat,uux,uuxqt
## ACCESS_ALLOWED_SUID[/home]=-
Отключить влияние SUID бита на привилегии порождаемого процесса всем, кроме указанных исключений в ACCESS_ALLOWED_SGID
:
Синтаксис:
## ACCESS_ALLOWED_SGID[<find_path_1> <find_path_n> <options>]=<file_1>,<file_2>,<file_n>
где Find path:
[]
, то будут выбраны пути поиска ="/usr/bin /usr/local/bin /usr/local/sbin /home";где Options:
где Files:
## ACCESS_ALLOWED_SGID[/usr/bin]=vmware-user-suid-wrapper,x2goprint,at,locate,mount.cifs,mount.ecryptfs_private,unix_chkpwd,wall,write
## ACCESS_ALLOWED_SGID[/home]=-
Ограничить запуск исполняемых файлов и интерпретаторов языков программирования в интерактивном режиме:
Синтаксис:
## ACCESS_DENIED_EXEC[<find_path_1> <find_path_n> <options>]=<file_1>,<file_2>,<file_n>
где Find path:
[]
, то будут выбраны пути поиска ="/usr/bin /usr/local/bin /usr/local/sbin /home";где Options:
где Files:
## ACCESS_DENIED_EXEC=interpreter
## ACCESS_DENIED_EXEC[/usr/bin,/usr/bin/local]=gbr3,python,python2,python3,perl,perl6,php,ruby,node,awk,gawk
## ACCESS_DENIED_EXEC[/home/*/local/bin]=myfile
## ACCESS_DENIED_EXEC[\"/home/superadmin/soft my\"]=myfile
Отключить пользовательские nosuid nodev noexec на смонтированные цели:
Синтаксис:
## MOUNT_ATTR[<source_1>,<source_n>]=<attribut_1>,<attribut_n>
где Source:
где Attributs:
## MOUNT_ATTR[/home]=nosuid,nodev,noexec,nosymfollow
## MOUNT_ATTR[/tmp,/dev/shm]=nosuid,nodev,noexec
Использовать дисковые квоты на файловые системы ext2,ext3,ext4,jfs,xfs,vfs,nfs,...
Внимание: для квот на группу, необходимо что-бы указанная группа была основной у пользователей.
Альтернатива для проектов, через дополнительную группу projgrp: groupadd projgrp; mkdir /home/projects; chgrp projgrp /home/projects; chmod g+s /home/projects
Информация: Если квотами просиходит управление через другие программы, то достаточно только включить квоты на требуемый тип квоты.
## DISK_QUOTA[<quota_type>[:<device_ident>]]=<enable/disable>
## DISK_QUOTA[<quota_type>:<device_ident>]=0:0:0:0:<bgrace>:<igrace>
## DISK_QUOTA[<quota_type>:<device_ident>:<user1,user2,user_n>]=<bsoft>:<bhard>:<isoft>:<ihard>[:<bgrace>:<igrace>]
## DISK_QUOTA[<quota_type>:<device_ident>:<group_1,group_2,group_n>]=<bsoft>:<bhard>:<isoft>:<ihard>[:<bgrace>:<igrace>]
## DISK_QUOTA[prjquota:<path_dir>:<project_id>[,<project_name>]]=<bsoft>:<bhard>:<isoft>:<ihard>[:<bgrace>:<igrace>]
## DISK_QUOTA[prjquota:<path_dir>:<project_id>[,<project_name>]]=0:0:0:0:<bgrace>:<igrace>
## DISK_QUOTA[prjquota:<path_dir>:[<project_id>][,<project_name>]]=clean
## DISK_QUOTA[quota:<device_ident>]=clean
## DISK_QUOTA[quota]=<enable/disable>
где <quota_type>:
<enable/disable> - простое включение/отключение дисковой квоты, без указания дополнительных условий, если не указан <device_ident>, то для всех устройств.
<device_ident>:
<path_dir> - путь до каталога.
<user_1,user_2,user_n> - Перечень пользователей разделённых ','
<group_1,group_2,group_n> - Перечень групп разделённых ','
<project_id> - Номер проекта, цифра, обязательное поле, может принимать значение:
<project_name> - Имя проекта, не обязательное поле.
<bsoft> - Указывает программное ограничение размера block в файловой системе, предупреждение. Применимо: M(egabyte),G(igabyte),T(erabyte)
<bhard> - Указывает жесткое ограничение размера block в файловой системе. Применимо: M(egabyte),G(igabyte),T(erabyte)
<isoft> - Указывает программное ограничение inode в файловой системе, предупреждение
<ihard> - Указывает жесткое ограничение inode в файловой системе
<bgrace> - Льготный период секунд в течение которого разрешено превысить bsoft ограничение, но не более bhard. 3600=1час 86400=1день 604800=7дней. Не обязательный.
<igrace> - Льготный период секунд в течение которого разрешено превысить isoft ограничение, не более ihard. Не обязательный.
## DISK_QUOTA[usrquota:/dev/sda3]=enable
## DISK_QUOTA[usrquota:/dev/sda3]=disable
## DISK_QUOTA[quota]=enable
## DISK_QUOTA[usrquota:/dev/sdc1:user-1,user-2]=100M:150M:100:150
## DISK_QUOTA[usrquota:/dev/sdc1]=0:0:0:0:86400:86400
## DISK_QUOTA[usrquota:/dev/sdc1:user-1,user-2]=100M:150M:100:150:86400:86400
## DISK_QUOTA[grpquota:/dev/sdc1:users,users@domain.com]=1G:1500M:0:0:604800:604800
## DISK_QUOTA[prjquota:/mnt/data/project2:1,MyProjectName]=500M:600M:0:0:604800:604800
## DISK_QUOTA[prjquota:/mnt/data/project1:AUTO]=5G:6G:0:0:604800:604800
Квоты на ресурсы, через cgroup2. Механизм systemd или напрямую cgroup. man 5 systemd.resource-control. Синтаксис:
CGROUP_QUOTA[unit|user]=property_1=value,property_2=value,property_n=value
Получить древовидный список cgroups и запущенных процессов: systemd-cgls --no-page
.
Показать монторинг потребляемых ресурсов: systemd-cgtop -c; systemd-cgtop -m
Показать статус и используемые ограничения: systemctl status user.slice --no-page
Единицы измерения: %, K, M, G, T
unit:
user (Системное имя пользователя):
где property:
## CGROUP_QUOTA[user-1000.slice]="MemoryHigh=200M,MemorySwapMax=300M,CPUQuota=100%"
## CGROUP_QUOTA[superadmin]="MemoryHigh=500M,MemorySwapMax=100M,CPUQuota=400%"
## CGROUP_QUOTA[smb.service]="MemoryHigh=100M,MemorySwapMax=0M,CPUQuota=100%"
## CGROUP_QUOTA[superadmin]="MemoryHigh=1G,MemoryMax=7G,MemorySwapMax=64M,CPUQuota=395%,IOReadBandwidthMax=/dev/sda3 1M,IOWriteBandwidthMax=/dev/sdb3 2M,IOReadBandwidthMax=/dev/sdc3 16K,IOWriteBandwidthMax=/dev/sdd3 16K"
Управление разрешениями действий polkit, можно разрешать для группы пользователей. Синтаксис:
## POLKIT[id_object]=result:group_1,group_n"
Где:
pkaction
. Например:
Посмотреть все доступные объекты polkit:
pkaction
.
## POLKIT[com.ublinux.ubl-settings-datetime.run]=no:users
Настройка режима киоска.
Режим киоска XFCE4, запретить изменять параметры пользователям и группам:
XFCE4_KIOSK[<channel>:<property>]=<user_groups>
Где:
#XFCE4_KIOSK[xfce4-panel:CustomizePanel]=@wheel
#XFCE4_KIOSK[xfce4-session:SaveSession]=NONE
#XFCE4_KIOSK[xfce4-session:CustomizeSplash]=NONE
#XFCE4_KIOSK[xfce4-session:CustomizeChooser]=NONE
#XFCE4_KIOSK[xfce4-session:CustomizeLogout]=NONE
#XFCE4_KIOSK[xfce4-session:CustomizeCompatibility]=NONE
#XFCE4_KIOSK[xfce4-session:Shutdown]=ALL
#XFCE4_KIOSK[xfce4-session:CustomizeSecurity]=NONE
#XFCE4_KIOSK[xfdesktop:UserMenu]=@wheel
#XFCE4_KIOSK[xfdesktop:CustomizeBackdrop]=@wheel
#XFCE4_KIOSK[xfdesktop:CustomizeDesktopMenu]=@wheel
#XFCE4_KIOSK[xfdesktop:CustomizeWindowlist]=NONE
#XFCE4_KIOSK[xfdesktop:CustomizeDesktopIcons]=@wheel
Определить пользователей, которым будет применено ограничение в режиме "Киоск":
Синтаксис:
XFCE4_KIOSK_USER_LOCKED=<value>
Где <value>:
Значение | Описание |
---|---|
disable | Снять все ограничения |
* | Все пользователи |
@whell;@users | Указанные группы |
superadmin;user-1 | Указанные пользователи |
@wheel;user-1 | Указанные группы и пользователи |
Примеры:
#XFCE4_KIOSK_USER_LOCKED="*"
XFCE4_KIOSK_USER_LOCKED=@wheel;user-1
Определить пользователей, для которых будет применено исключение в режиме "Киоск":
Синтаксис:
XFCE4_KIOSK_USER_UNLOCKED=<value>
Где <value>:
Значение | Описание |
---|---|
disable | Снять все исключения |
* | Все пользователи |
@whell;@users | Указанные группы |
superadmin;user-1 | Указанные пользователи |
@wheel;user-1 | Указанные группы и пользователи |
Примеры:
#XFCE4_KIOSK_USER_UNLOCKED="*"
XFCE4_KIOSK_USER_UNLOCKED="@wheel;user-1"
Назначить настройки XFCE4 по умолчанию:
#XFCE4_KIOSK_DEFAULT="user-1,user-2"
Назначить настройки XFCE4 через xfconf-query. Синтаксис:
## XFCE4_XFCONF[<users>,<@groups>:<channel>:<property>]=<type>:<value>
Где:
superadmin,user-1
. Разделитель: запятая, точка с запятой.@whell,@users
--channel <channel> --property <property> --create --type <type> --set <set>
xfconf-query --channel <channel> --property <property> --reset --recursive.
Примеры:
#XFCE4_XFCONF[@users:xfce4-session:/shutdown/LockScreen]=bool:false
#XFCE4_XFCONF[@sers:xfce4-session:/shutdown/ShowHibernate]=bool:false
#XFCE4_XFCONF[@users:xfce4-session:/shutdown/ShowSuspend]=bool:false
#XFCE4_XFCONF[@users:xfce4-session:/shutdown/ShowHybridSleep]=bool:false
#XFCE4_XFCONF[@users:xfce4-session:/shutdown/ShowSwitchUser]=bool:false
#XFCE4_XFCONF[@users:xfce4-session:/general/ShowSave]=bool:false
#XFCE4_XFCONF[@users:xfce4-screensaver:/saver/idle-activation/delay]=int:10
Скрыть кнопку LOGOUT в XFCE4 диалог выключения питания. Синтаксис:
## XFCE4_DIALOGPOWER_LOGOUT[<users>,<@groups>]=<value>
[superadmin,user-1]
. Разделитель: запятая, точка с запятой;[@whell,@users]
, можно комбинировать группы с пользователями, пример: @wheel,user-1
;hide, show
;#XFCE4_DIALOGPOWER_LOGOUT[@users]=hide
Скрыть иконки приложений из меню:
APPDESKTOP_BLACKLIST[<users>]=<desktop_files>
## APPDESKTOP_BLACKLIST[${USERNAME}]=*
## APPDESKTOP_WHITELIST[${USERNAME}]=xarchiver,xfce4-power-manager-settings
Скопирует все [/usr/share/applications/*.desktop]
в [${USERNAME}/.local/share/applications/]
и добавит опцию NoDisplay=true
в файлы [${USERNAME}/.local/share/applications/*.desktop]
:
Изменения хранятся в профиле пользователя, для любого режима.
## APPDESKTOP_BLACKLIST[LOCAL]=*
## APPDESKTOP_WHITELIST[LOCAL]=xarchiver,xfce4-power-manager-settings
Скопирует все [/usr/share/applications/*.desktop]
в [/usr/share/local/applications/]
и добавит опцию NoDisplay=true
в файлы [/usr/share/local/applications/*.desktop]
:
В режиме песочницы изменения применяются каждую перезагрузку.
В режиме полного сохранения, вернуть изменения можно только вручную.
## APPDESKTOP_BLACKLIST[GLOBAL]=*
## APPDESKTOP_WHITELIST[GLOBAL]=xarchiver,xfce4-power-manager-settings
Удалит файлы [/usr/share/applications/*.desktop]
[/usr/share/local/applications/*.desktop]
[/home/*/.local/share/applications/*.desktop]
:
В режиме песочницы изменения применяются каждую перезагрузку.
В режиме полного сохранения, вернуть изменения можно только вручную.
#APPDESKTOP_BLACKLIST[user-1]=xarchiver,xfce4-power-manager-settings
#APPDESKTOP_WHITELIST[user-1]=
Разместить ярлыки программ на рабочем столе. Применимо только для новых пользователей.
Синтаксис:
APPDESKTOP_PLACEONDESKTOP_INIT[<users>]=<desktop_files>
Значения:
Значение | Описание |
---|---|
users | Применить для указанного пользователя. Перечислять пользователей через запятую. Можно комбинировать с группами. |
@groups | Применить для указанной группы. Перечислять группы через запятую. Можно комбинировать с пользователями. |
* | Применить для всех пользователей системы. Если ничего не указано, то применяется ко всем пользователям. |
<desktop_files> | Файлы *.desktop. из каталога /usr/share/applications/ . Указывается без расширения ".desktop". |
Пример:
## APPDESKTOP_PLACEONDESKTOP_INIT[superadmin,@wheel]=ubinstall,htop
## APPDESKTOP_PLACEONDESKTOP_INIT=gimp,pinta
Настройка параметра через ubconfig.
Разместить ярлыки программ на рабочем столе.
Синтаксис:
APPDESKTOP_PLACEONDESKTOP[<users>]=<desktop_files>
Значения:
Значение | Описание |
---|---|
users | Применить для указанного пользователя. Перечислять пользователей через запятую. Можно комбинировать с группами. |
@groups | Применить для указанной группы. Перечислять группы через запятую. Можно комбинировать с пользователями. |
* | Применить для всех пользователей системы. Если ничего не указано, то применяется ко всем пользователям. |
<desktop_files> | Файлы *.desktop. из каталога /usr/share/applications/ . Указывается без расширения ".desktop". |
Пример:
## APPDESKTOP_PLACEONDESKTOP[superadmin,@wheel]=ubinstall,htop
## APPDESKTOP_PLACEONDESKTOP=gimp,pinta
Настройки рабочего стола
Пользователь для автовхода, значения:
Значение | Описание |
---|---|
=user_name | Включает автовход указанного пользователя. |
=yes =enable |
Включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin. |
=no =disable |
Принудительно отключить автологин. |
Если задан параметр ${DISPLAYMANAGER_DEFAULTUSER}, то автовход от пользователя переменной.
## AUTOLOGINUSER=yes
Настройка среды рабочего стола, менеджера входа, выбранного пользователя по умолчанию:
#DESKTOP=none
#DISPLAYMANAGER=slim
#DESKTOP=LXDE
#DISPLAYMANAGER=GDM
#DESKTOP=GNOME
#DISPLAYMANAGER=lightdm
#DESKTOP=xfce
#DISPLAYMANAGER_DEFAULTUSER=user-1
Среда рабочего стола (DESKTOP):
Менеджер входа (DISPLAYMANAGER):
Перечень программ для автозагрузки под указанным пользователем или группой:
## AUTOEXEC[<users>,<@groups>]="<de_1>:<appname_1>,<appname_n>;<de_2>:<appname_1>,<appname_n>;<appname_n>"
#AUTOEXEC[user-1,@wheel]="xbindkeys;kde:yakuake;gnome:guake;xfce:plank.desktop,xterm;lxde:guake"
Простой режим мульти рабочего места MultiSeat, когда в ПК установлено два независимых графических контроллера (посмотреть все устройства: loginctl seat-status seat0
)
lsusb
- показывает подключенные устройства USB;
lspci
- показывает информацию о подключенных устройствах PCI.
Синтаксис:
#MULTISEAT_SIMPLE[НомерМеста]="АдресУстройстваДляМеста1 АдресУстройстваДляМеста..."
Пример:
#MULTISEAT_SIMPLE[seat1]="/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1 /sys/devices/pci0000:00/0000:00:14.0/usb1/1-8 /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7"
#MULTISEAT_SIMPLE[seat2]="/sys/devices/pci0000:00/0000:00:02.0/0000:02:00.0/drm/card2 /sys/devices/pci0000:00/0000:00:14.0/usb2/1-10 /sys/devices/pci0000:00/0000:00:14.0/usb2/1-9"
Сервис удалённого управления рабочим столом X11 и TT. Пароль для VNC сервиса x11vnc-ublinux:*.service. Настроен на работу только по паролю для всех рабочих мест. Создаёт шифрованный пароль в файле /root/.vnc/.passwd.
Поддерживает Multiseat по номеру порта display:0=port:5900 display:1=port:5901 display:2=port:5902
Пароль кодировать в base64: echo 'ublinux' | base64
.
## X11VNC[password]=dWJsaW51eAo=
Дополнительные опции к автоматическому соединению:
## X11VNC[options]="-noipv6"
Значение | Описание |
---|---|
-noipv6 | Не использовать IPv6 для подключений |
-ultrafilexfer | Включите расширение передачи файлов UltraVNC |
-tightfilexfer | Включите расширение передачи файлов TightVNC |
-xkb | Если копирование и вставка не работают должным образом с буфером обмена |
-ssl [pem] | [pem]=file_pem [pem]=SAVE [pem]=ANON # Аноним Диффи-Хеллмана используется метод обмена ключами, без SSL [pem]=TMP |
-unixpw | Что-бы работало, должна быть установлена переменная UNIXPW_DISABLE_SSL=1 |
-users unixpw= | Предоставить доступ к системным учетным записям |
-xdummy | Использовать Xdummy |
-avahi | Используйте протокол Avahi/mDNS ZeroConf для объявления этого VNC-сервера на локальном компьютере в сеть |
VNC для управления TTY:
## X11VNC[tty1]="-noipv6"
Пользовательская настройка запуска, new_1..new_2..new_n:
## X11VNC[new1]="-no6 -rfbauth /root/.vnc/.passwd -rawfb vt2"
Отключить автоматическое создание X11VNC для всех дисплеев:
## X11VNC[display]=disable || X11VNC[nodisplay]=1 || X11VNC[disable]=1
Параметр настройки протокола XDMCP у LightDM.
Синтаксис:
LIGHTDM_XDMCP=yes|no|enable|disable
LIGHTDM_XDMCP[port]=<port>
LIGHTDM_XDMCP[listen-address]=<address>
LIGHTDM_XDMCP[key]=<key>
LIGHTDM_XDMCP[hostname]=<hostname>
Где:
keys.conf
);Настройка гритера для менеджера диспелея Lightdm.
Синтаксис:
LIGHTDM_GREETER[<parametr>]=<value>
Где <parametr>:
Настройки видеодрайвера
Загрузить подходящий видеодрайвер, вначале пытаемся запустить проприетарный, после свободный. Модули видеодрайверов с нужной версией должны быть подключены. По умолчанию отключено (no).
## VGADRV_AUTO=yes|*no
#VGADRV_AUTO=yes
Отключить свободные radeon/nouveau, использовать проприетарные видео драйвера nvidia/amdgpu, при подключенных модулях станут активны проприетарные драйвера. По умолчанию отключено (no).
Синтаксис:
## VGADRV_NOFREE=yes|*no|nouveau|radeon
Где:
#VGADRV_NOFREE=yes
Принудительно добавить и установить разрешение монитора в /etc/X11/xorg.conf.d/
Перечень имён портов вывода получить по команде:
xrandr
#или
xrandr | grep -E "^[A-Z0-9]* connected" | cut -d' ' -f1
Пример:
## XORG_MONITOR[VGA1]=1920x1080,1600x1200x60,848x480x60,nodpms
Где:
1920x1080
=1920x1080x75
## XORG_MONITOR[VGA1]=1920x1080,ro:hdmi1
Принудительно задать дополнительные возможности XORG, XORG_EXT=, значения:
XORG_EXT=nodpms
Принудительно задать DPI, XORG_DPI=, значения:
## XORG_DPI=192
Драйверы для видеокарт в случае, если проприетарные не доступны или не работают:
#FAILSAFENVIDIA=fbdev
#FAILSAFEATI=fbdev
Перечень программ, которые следует запускать через optirun для ноутбуков с Nvidia optimus:
#OPTIRUN=
Перечень программ, которые следует запускать через primusun для ноутбуков с Nvidia optimus:
#PRIMUSRUN=steam
При наличии 2х видеокарт (ноутбуки с картами AMD/ATI) по умолчанию используется.
Встроенная (intel), отключите параметр INTEGRATEDVGA, чтобы использовать AMD/ATI:
#INTEGRATEDVGA=no
Настройки темы
Доступные темы: ublinux(по умолчанию), ublinux-green, ublinux-dark
#THEME=ublinux
Настройка параметра через ubconfig
Выбор обоев рабочего стола: XFCE4, Plasma. Синтаксис:
##BACKGROUND_DE=none|no|disable|</dir/file>|</dir/subdir>
Где:
Если параметр не задан, то фирменные обои по умолчанию собираются в /usr/share/backgrounds/background.jpg.
#BACKGROUND_DE=/mnt/livedata/ublinux-data/backgrounds/wallpapers/
Метод масштабирования: XFCE4, Plasma
Пример:
## BACKGROUND_DE_MODE=0
Выбор обоев экранного менеджера Display Manager: Lightdm
##BACKGROUND_DM=none|no|disable|</dir/file>|</dir/subdir>
Где:
Если параметр не задан, то фирменные обои по умолчанию собираются в /usr/share/backgrounds/dm.jpg.
#BACKGROUND_DM=/mnt/livedata/ublinux-data/backgrounds/wallpapers/
Метод масштабирования экранного менеджера Display Manager: Lightdm
Пример:
## BACKGROUND_DM_MODE=0
Подписывать режим загрузки системы на обоях в виде иконки
## GRAFFITI=*yes|no
#GRAFFITI=no
Настройки steam
Настройки клиента ~/.steam для вынесения данных из профиля. Места занимает немного, переносить имеет смысл только при работе в чистом режиме.
Не назначайте переменную STEAMCONF если steam ещё не установлен!
#STEAMCONF=
Место для клиента и библиотеки игр. Т.к. это занимает много места, то лучше перенести из домашней папки:
#STEAMAPP=/mnt/livedata/ublinux-data/steam
Настройки времени
Параметр HWCLOCK_SYNC
синхронизирует время в биос при завершении работы системы/перезагрузки, и считывает время из биоса при загрузке. Синтаксис:
## HWCLOCK_SYNC=*utc|localtime
Где:
HWCLOCK_SYNC=localtime
Установка часового пояса * =UTC:
ZONE= | Описание |
---|---|
* =Etc/UTC | Time zone for UTC MSK-3 |
=Europe/Kaliningrad | Time zone for UTC+2 MSK-1 |
=Europe/Moscow | Time zone for UTC+3 MSK |
=Europe/Samara | Time zone for UTC+4 MSK+1 |
=Asia/Yekaterinburg | Time zone for UTC+5 MSK+2 |
=Asia/Omsk | Time zone for UTC+6 MSK+3 |
=Asia/Krasnoyarsk | Time zone for UTC+7 MSK+4 |
=Asia/Irkutsk | Time zone for UTC+8 MSK+5 |
=Asia/Chita | Time zone for UTC+9 MSK+6 |
=Asia/Yakutsk | Time zone for UTC+10 MSK+7 |
=Asia/Vladivostok | Time zone for UTC+11 MSK+8 |
=Asia/Magadan | Time zone for UTC+12 MSK+9 |
#ZONE=Europe/Moscow
Языковые настройки
#LOCALE="en_US.UTF-8,ru_RU.UTF-8"
#LANG="ru_RU.UTF-8"
#CONSOLE_FONT=lat0-16
Настройки клавиатуры
Режим работы клавиатуры NumLock. По умолчанию включено, если нет тачпада.
## NUMLOCK=*yes|no|on|off
#NUMLOCK=off
#XKBMODEL=pc105
#XKBLAYOUT="us,ru"
#XKBVARIANT="ru"
Раскладка клавиатуры в X:
#XKBOPTIONS=grp:lalt_lshift_toggle,grp_led:scroll,compose:rwin
Переключение раскладки клавиатуры в консоли: grp:lalt_lshift_toggle
#CONSOLE_KEYMAP="ru"
#CONSOLE_KEYMAP_TOGGLE="grp:lalt_lshift_toggle"
Настройки модулей
#UBMDIR=/var/lib/ubmodules
#EXT=ubm
#compression="${MKSQFS_OPTS}"
#compression="-b 512K -comp xz -Xbcj x86"
#compression_fast="${MKSQFS_FASTALG}"
#compression_fast="-b 512K -comp lz4 -Xhc"
Настройки NFS сервера
Строгая привязка служб NFS сервера к работе через определенные порты (полезно при работе в сети через межсетевой экран):
#RPCMOUNTD_OPTIONS="--port 4002"
Настройки NFS common
#STATD_OPTIONS="--port 4000"
Настройки сервера polipo
В настройках прокси сервера polipo можно перенаправить весь поток на другой сервер - это может быть и обычный сервер и служба tor:
#socksParentProxy="localhost:9050"
#socksProxyType=socks5
Настройки wifi карты в режиме точки доступа
#driver=nl80211
#ssid=ublinux
#country_code=RU
#hw_mode=g
#channel=11
Пароль к wpa2:
#wpa_passphrase=ublinux
Переключение в режим открытой wep сети:
#wpa=0
Принимать запросы от других компьютеров в сети:
#server_ip=any;
Адрес основного DNS сервера, откуда брать запросы:
#ip=77.88.8.8;
Перенос временных файлов КДЕ4 в отдельную папку. Убирает притормаживание главного меню в КДЕ4
#export KDEVARTMP=/mnt/livedata/ublinux-data/tmp
Если на видеокарте nvidia наблюдается эффект разрыва окон, то есть 2 варианта борьбы с этим.
Следует выбрать один из вариантов, нельзя включать сразу 2 переменные сразу.
1 вариант. Может снизить производительность в играх.
#export __GL_YIELD=USLEEP
2 вариант. Не на каждой видеокарте может сработать.
#export KWIN_TRIPLE_BUFFER=1
Отключение парковки жесткого диска на ноутбуках:
#CONTROL_HD_POWERMGMT=1