From bf16565e69660fe6740ab9bd6df733a6bdc63127 Mon Sep 17 00:00:00 2001 From: asmeron Date: Fri, 26 Jan 2024 10:29:41 +0600 Subject: [PATCH] [fix] fix options --- ublinux/default | 4 +- ublinux/rc.post.d/10-brand-backgrounds | 4 +- ublinux/rc.xorg/01-de-background | 4 +- ublinux/templates/ublinux-data.ini | 78 ++++++++++++++++++-------- 4 files changed, 60 insertions(+), 30 deletions(-) diff --git a/ublinux/default b/ublinux/default index 41986d9..445fe14 100644 --- a/ublinux/default +++ b/ublinux/default @@ -5,6 +5,7 @@ declare -A AUTHPAM declare -A JOURNALD +declare -A SYSTEMD_COREDUMP declare -A DOMAIN ##rc.desktop/all/* is launching when desktop is ready @@ -140,7 +141,6 @@ ADDADM=yes #/rc.preinit/10-accounts HASHPASSWD=yescrypt -HASHPASSWD_SAVE=yes #/rc.preinit/50-xorg #NVIDIATEST="nvidia-current nvidia340 nvidia304 nvidia" @@ -223,5 +223,7 @@ JOURNALD[Storage]=persistent JOURNALD[Compress]=yes JOURNALD[SystemMaxUse]=8M JOURNALD[RuntimeMaxUse]=8M +SYSTEMD_COREDUMP[Storage]=none +SYSTEMD_COREDUMP[ProcessSizeMax]=0 DOMAIN[client]=realmd_sssd diff --git a/ublinux/rc.post.d/10-brand-backgrounds b/ublinux/rc.post.d/10-brand-backgrounds index 07d9394..62f2e49 100755 --- a/ublinux/rc.post.d/10-brand-backgrounds +++ b/ublinux/rc.post.d/10-brand-backgrounds @@ -51,7 +51,6 @@ DEBUGMODE=no debug_mode "$0" "$@" SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null -SOURCE=${SYSCONF}/users; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/desktop; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/theme; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/video; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null @@ -437,7 +436,8 @@ insert_background_icon(){ [[ -z ${BUILD_MANUAL} ]] && cp -pf ${wallpapers_dst}/${edition_os}_boot_${fname_ratio}_${RESOLUTION}.jpg $default_dm_img # Если пароли по умолчанию ublinux, то вывести подсказку пароля - [[ -z ${BUILD_MANUAL} ]] && grep -q "^root:${DEFAULTROOTPASSWD}:" /etc/shadow && grep -q "^$(getent passwd "${ADMUID}" | cut -d: -f1):${DEFAULTPASSWD}:" /etc/shadow && insert_background_dm_txtpass + [[ -z ${BUILD_MANUAL} && -n ${FIRSTSTART} ]] && insert_background_dm_txtpass + if [[ -z ${BUILD_MANUAL} ]] && [[ ${GRAFFITI} != @(none|no|disable) ]]; then [[ -z $3 ]] && state_mode="$(cmdline_value ub.mode)" || state_mode=$3 [[ -z $3 ]] && state_home="$(cmdline_value ub.home)" || state_home=$3 diff --git a/ublinux/rc.xorg/01-de-background b/ublinux/rc.xorg/01-de-background index 7efd85f..7cc8fac 100755 --- a/ublinux/rc.xorg/01-de-background +++ b/ublinux/rc.xorg/01-de-background @@ -5,7 +5,6 @@ ENABLED=yes SOURCE=/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null -SOURCE=${SYSCONF}/users; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/theme; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null @@ -124,8 +123,7 @@ if [ -x /usr/bin/convert ] ;then if [ "$GRAFFITI" != "no" -a -x /usr/bin/composite ] ;then . /usr/lib/ublinux/default A=0 - grep -q "^root:$DEFAULTROOTPASSWD:" /etc/shadow && A=1 - grep -q "^user:$DEFAULTPASSWD:" /etc/shadow && A=1 + [[ -n ${FIRSTSTART} ]] && A=1 [ "$A" = "1" ] && composite -gravity NorthWest /usr/share/ublinux/graffiti/warning.png /tmp/background.jpg /tmp/background2.jpg [ -f /tmp/background2.jpg ] && mv -f /tmp/background2.jpg /tmp/background.jpg fi diff --git a/ublinux/templates/ublinux-data.ini b/ublinux/templates/ublinux-data.ini index 8c2d8d6..ff650e9 100644 --- a/ublinux/templates/ublinux-data.ini +++ b/ublinux/templates/ublinux-data.ini @@ -160,25 +160,23 @@ SERVICES_ENABLE=dbus-broker,NetworkManager,sshd,systemd-swap,cups,cockpit.socket [/etc/ublinux/users] ## Базовые настройки пользователей и групп ################################################################################ -## Default user password is 'ublinux' ## Что-бы получить хэш "openssl passwd -6 " | "mkpasswd2 -m sha256crypt " | "mkpasswd2 -m help" - -## Хэш пароля для пользователя по умолчанию (стандартно ublinux) -## Если пароль стандартный, то включен первый запуск для настройки системы. Отображение подсказки на фоне рабочего стола и "[config] firstboot=yes" +## Пароль для пользователя, по умолчанию: ublinux +## DEFAULTPASSWD= +## password # Хеш пароля или если первые символы (%%), то пароль хранится в нешифрованном виде +## # Если пароль =DEFAULTROOTPASSWD, то включен первый запуск для настройки системы, +## # тображается подсказка пароля на фоне рабочего стола Lightdm и "[config] firstboot=yes" #DEFAULTPASSWD='$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnKCzKe2zHu1/wmsiWBHZEIk/IQnk/aELQYbUK93OUtrwg60' -## Default root password is 'ublinux' -## Хеш пароля для пользователя root (стандартно ublinux) +## Хеш пароля для пользователя root, по умолчанию: ublinux +## DEFAULTROOTPASSWD= +## password # Хеш пароля или если первые символы (%%), то пароль хранится в нешифрованном виде #DEFAULTROOTPASSWD='$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnKCzKe2zHu1/wmsiWBHZEIk/IQnk/aELQYbUK93OUtrwg60' ## Default user name is 'superadmin' ## Имя пользователя по умолчанию, будет добавлен в группу whell, при условии если переменная NEEDEDUSERS пустая (стандартно superadmin) #DEFAULTUSER=superadmin -## Хранить в конфигурации хеш пароля. Если в параметрах USERADD или GROUPADD пароль не хеширован, то захешировать по алгоритму HASHPASSWD и сохранить в конфигурации -## HASHPASSWD_SAVE=*enable|yes|y|disable|no|n|none -#HASHPASSWD_SAVE=no - ## Default hash algoritm for user password ## Алгоритм хеширования паролей, возможные значения: des, md5, yescrypt, gost-yescrypt, scrypt, bf, bcrypt, sha512crypt, sha256crypt, md5crypt, descrypt ## Алгоритмы GOST R 34.11-2012 (Streebog): gost-yescrypt @@ -192,7 +190,7 @@ NEEDEDUSERS='superadmin:1000:x:Администратор' ## Добавить пользователя системы в /etc/passwd. Если пользователь существует, то без изменений ## USERADD=no|none|disable # Отключить управление прользователями конфигурации -## USERADD[user_name]='gecos:uid:user_group:extra_groups:optional:password_hash|x' +## USERADD[user_name]='gecos:uid:user_group:extra_groups:optional:password|x' ## user_name # Имя пользователя, обязательное поле ## gecos # Поле GECOS, с подробным описанием пользователя, можно локализованное, не обязательное ## uid # UID пользователя, если необходимо автоматически рассчитывать, то оставить пустым или 'x' @@ -207,9 +205,11 @@ NEEDEDUSERS='superadmin:1000:x:Администратор' ## -N, --no-user-group # Не создавать группу с тем же именем что и у пользователя ## -o, --non-unique # Разрешить создание пользователей с повторяющимися (не уникальными) UID, использовать только совместно с параметром ## --badnames # Не проверять имя на несоответствие правилам использования символов -## password_hash|x # Хеш пароля пользователя, если выбрано 'x', то 'password_hash=${DEFAULTPASSWD}' -## # Если первые символы (!*) то аутентификация запрещена -## # Если первый символ (*) или (!), то аутентификация по паролю заблокирована. Но другие методы входа, такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены +## password|x # Хеш пароля пользователя, если пусто или 'x', то 'password=${DEFAULTPASSWD}', +## # Если первые символы (%%), то пароль хранится в нешифрованном виде +## # Если первые символы (!*), то аутентификация запрещена +## # Если первый символ (*) или (!), то аутентификация по паролю заблокирована. Но другие методы входа, +## # такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены ## 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' @@ -225,8 +225,8 @@ NEEDEDUSERS='superadmin:1000:x:Администратор' ## expire # Дата, когда учетная запись была отключена. Указывается количество дней, исчисляется с 1 января 1970 года (дата эпохи). Возможно указать дату формата: YYYY-MM-DD ## # Если один из параметров не задан, содержит пустое значение, то исходное значение не изменяется ## # Конвертировать кол-во дней от эпохи в понятную дату: date --date=@$(( DDDDD*(60*60*24) )); date --date=@EPOCH -## USERSHADOW[superadmin]=2024-01-01:0:99999:7::: -## USERSHADOW[superadmin]=18009:0:120:7:14:: +## USERSHADOW[superadmin]=2024-01-01:0:99999:7:: +## USERSHADOW[superadmin]=18009:0:120:7:14: ## Синхронизация пользователей системы /etc/passwd и их параметры /etc/shadow с глобальной конфигурацией ## USERADD_SYNC[user_name]='boot,shutdown' @@ -234,9 +234,8 @@ NEEDEDUSERS='superadmin:1000:x:Администратор' ## boot # При загрузке системы принудительно применить глобальную конфигурацию на пользователя ## shutdown # При завершении работы системы синхронизировать указанных пользователей в системе с глобальной конфигурацией - ## Группы системы /etc/group. Создаст или изменит существующие группы -## GROUPADD[group_name]='group_users:gid:optional:administrators:password_hash|x' +## GROUPADD[group_name]='group_users:gid:optional:administrators:password|x' ## group_name # Имя группы ## group_users # Пользователи группы, перечисление через запятую, если выбрано 'x' то пусто. Может быть пусто. ## gid # GID группы, если необходимо автоматически рассчитывать, то оставить пустым или 'x' @@ -244,10 +243,18 @@ NEEDEDUSERS='superadmin:1000:x:Администратор' ## -o, --non-unique # Разрешить создание групп с повторяющимися (не уникальными) GID, использовать только совместно с параметром ## -r, --system # Cоздавать системную группу ## administrators # Администраторы группы которые могут менять пароль группы и добавлять членов. Список с разделителем запятая -## password_hash|x # Хеш пароля группа, если выбрано 'x' или пусто, то группа без пароля +## password|x # Хеш пароля группа, если выбрано 'x' или пусто, то группа без пароля +## # Если первые символы (%%), то пароль хранится в нешифрованном виде +## # Если первые символы (!*), то аутентификация запрещена +## # Если первый символ (*) или (!), то аутентификация по паролю заблокирована. Но другие методы входа, такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены ## GROUPADD[g_department_1]=ob.ivanov,rv.smirnov ## GROUPADD[g_department_2]='ob.ivanov,rv.smirnov:1001:x:superadmin,mv.rubin:$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnKCzKe2zHu1/wmsiWBHZEIk/IQnk/aELQYbUK93OUtrwg60' +## Синхронизация группы системы /etc/groups и их параметры /etc/gshadow с глобальной конфигурацией +## GROUPADD_SYNC[group_name]='shutdown' +## group_name # Имя группы, необязательное поле. Если не указано, то применяется для всех групп +## shutdown # При завершении работы системы синхронизировать указанные группы в системе с глобальной конфигурацией + ## Groups for users ## Дополнительные группы, для всех пользователей, по умолчанию: scanner,power,audio,lp,optical,storage,video,sambashare,vboxusers,libvirt #USERGROUPS=scanner,power,audio,lp,optical,storage,video,sambashare,vboxusers,libvirt @@ -327,14 +334,14 @@ NEEDEDUSERS='superadmin:1000:x:Администратор' #AUDITD[passwd_changes]="-w /etc/passwd -p wa -k passwd_changes" ## Настройка журналов -## https://www.freedesktop.org/software/systemd/man/journald.conf.html +## https://www.freedesktop.org/software/systemd/man/latest/journald.conf.html ## JOURNALD[]= ## # Имя переменной настройки журнала ## Storage # Указывает, где хранить журнал. Доступны следующие параметры: -## # "volatile" - Журнал хранится в оперативной памяти, т.е. в каталоге /run/log/journal -## # "persistent" - Данные хранятся на диске, т.е. в каталоге /var/log/journal -## # "auto" - используется по-умолчанию -## # "none" - Журнал не ведётся +## volatile # Журнал хранится в оперативной памяти, т.е. в каталоге /run/log/journal +## persistent # Данные хранятся на диске, т.е. в каталоге /var/log/journal +## auto # Используется по-умолчанию +## none # Журнал не ведётся ## Compress # Пороговое значение данных для сжатия и записи в ФС. Может принимать yes, no, цифра. Суффиксы, такие как K, M и G ## SplitMode # Определяет, следует ли разделять файлы журнала для каждого пользователя: «uid» или «none» ## RateLimitIntervalSec # Настраивает ограничение скорости, которое применяется ко всем сообщениям, интервал времени применения =30 @@ -354,12 +361,34 @@ NEEDEDUSERS='superadmin:1000:x:Администратор' #JOURNALD[SystemMaxUse]=8M #JOURNALD[RuntimeMaxUse]=8M +## Настройка дампа ядра +## https://www.freedesktop.org/software/systemd/man/latest/systemd-coredump.html +## SYSTEMD_COREDUMP[]= +## # Имя переменной настройки журнала +## Storage # Указывает, где хранить дамп ядра. Доступны следующие параметры: +## journal # Дампы будут храниться в журнале и перезаписываться в соответствии со стандартными принципами ротации журналов +## external # Значение по умолчанию, дампы сохраняются в каталоге /var/lib/systemd/coredump/ +## none # Дампы ядра записываются (включая обратную трассировку, если возможно), но не сохраняются +## Compress # Используется для сжатия дампов ядра. Принимает логический аргумент - *yes или no +## *yes # Дампы сжимаются при сохранении (значение по умолчанию) +## no # Дампы сохраняются без сжатия. +## ProcessSizeMax # Максимальный размер дампа процесса, который может быть сохранен. Если размер дампа превышает значение этого параметра, то дамп сохранен не будет. Суфиксы: B,K,M,G,T,P,E +## # Параметры Storage=none и ProcessSizeMax=0 отключает всю обработку дампа памяти, за исключением записи журнала +## ExternalSizeMax # Максимальный (сжатый или несжатый) размер дампа процесса, который будет сохранен на диске +## JournalSizeMax # Максимальный (сжатый или несжатый) размер дампа процесса, который будет сохранен в журнале системы +## MaxUse # Максимальный объем общего дискового пространства, который может быть использован для хранения дампов процессов. Суфиксы: B,K,M,G,T,P,E +## KeepFree # Минимальный объем свободного дискового пространства, который должен оставаться на диске при хранении дампов. Суфиксы: B,K,M,G,T,P,E +## # Значение переменной настройки журнала +#SYSTEMD_COREDUMP[Storage]=none +#SYSTEMD_COREDUMP[ProcessSizeMax]=0 + ## Настройка ротации файлов логов утилитой logrotate ## https://man.archlinux.org/man/logrotate.conf.5 ## LOGROTATE[]=",,:,," ## # Произвольное уникальное имя настройки ## # Маска имени файла лога с полным путём, для управления ротацией. Например: /var/log/cups/*_log ## : # Настройки для ротации файла лога +## # Если в настройках необходимо наличие внешнего исполнения $() или ``, то необходимо экранировать \$ или \` ## # Настройка частоты проверки ## hourly # Проверка выполнения условий ротации каждый час ## daily # Проверка выполнения условий ротации каждый день @@ -416,6 +445,7 @@ NEEDEDUSERS='superadmin:1000:x:Администратор' ## 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[clamav]="/var/log/clamav/clamd.log,/var/log/clamav/freshclam.log,/var/log/clamav/clamav-milter.log:create 644 clamav clamav,sharedscripts,missingok,notifempty,postrotate,/bin/kill -HUP \`cat /run/clamav/clamd.pid 2>/dev/null\` 2> /dev/null || true,/bin/kill -HUP \`cat /run/clamav/freshclam.pid 2>/dev/null\` 2> /dev/null || true,/bin/kill -HUP \`cat /run/clamav/clamav-milter.pid 2>/dev/null\` 2> /dev/null || true,endscript" #LOGROTATE[chrony]="/var/log/chrony/*.log:missingok,nocreate,sharedscripts,postrotate,/usr/bin/chronyc cyclelogs > /dev/null 2>&1 || true,endscript" [/etc/ublinux/boot]