From ca8e91fa5901f81f553f4645d6a305154f8cf981 Mon Sep 17 00:00:00 2001 From: asmeron Date: Tue, 19 Dec 2023 16:15:11 +0600 Subject: [PATCH] Add new options to ublinux-data.ini --- ublinux/functions | 4 +- .../ublinux/ublinux-00-install.sh | 12 +- ublinux/templates/ublinux-data.ini | 107 +++++++++++------- 3 files changed, 75 insertions(+), 48 deletions(-) diff --git a/ublinux/functions b/ublinux/functions index 9569d8f..af7509b 100755 --- a/ublinux/functions +++ b/ublinux/functions @@ -196,8 +196,8 @@ find_n_run_scripts(){ MOD="$1" shift - RCPATH=/etc/rc.d/init.d - [ -d $RCPATH ] || RCPATH=/etc/init.d + RCPATH=/etc/init.d + [ -d $RCPATH ] || RCPATH=/etc/rc.d/init.d RUNLEVEL=$(runlevel | awk '{print $2}') [ -d "/etc/rc$RUNLEVEL.d" ] && RCPATH=/etc/rc$RUNLEVEL.d [ -d "/etc/rc.d/rc$RUNLEVEL.d" ] && RCPATH=/etc/rc.d/rc$RUNLEVEL.d diff --git a/ublinux/rootfs-patches/ublinux/ublinux-00-install.sh b/ublinux/rootfs-patches/ublinux/ublinux-00-install.sh index d07e2e6..6a286cf 100755 --- a/ublinux/rootfs-patches/ublinux/ublinux-00-install.sh +++ b/ublinux/rootfs-patches/ublinux/ublinux-00-install.sh @@ -3,19 +3,19 @@ unset ROOTFS && [ -d ${ROOTFS}usr/lib/ublinux ] || ROOTFS=/ #/etc/rc.d -INITD=${ROOTFS}etc/rc.d/init.d -[ -d $INITD ] || INITD=${ROOTFS}etc/init.d -[ -d $INITD ] && find ${ROOTFS}usr/lib/ublinux/rc.d/init.d -type f | sed s%${ROOTFS}usr/lib/ublinux/rc.d/init.d/%% | while read a ;do - ln -sf /usr/lib/ublinux/rc.d/init.d/$a $INITD +INITD=${ROOTFS}etc/init.d +[ -d $INITD ] || INITD=${ROOTFS}etc/rc.d/init.d +[ -d $INITD ] && find ${ROOTFS}usr/lib/ublinux/rc.d/init.d -type f | sed s%${ROOTFS}usr/lib/ublinux/rc.d/init.d/%% | while read a; do + ln -sf /usr/lib/ublinux/rc.d/init.d/${a} ${INITD} done #systemd SYSTEMDFILES=${ROOTFS}usr/lib/systemd/system [ -d $SYSTEMDFILES ] || SYSTEMDFILES=${ROOTFS}lib/systemd/system -[ -d $SYSTEMDFILES ] && find ${ROOTFS}usr/lib/ublinux/systemd -type f | sed s%${ROOTFS}usr/lib/ublinux/systemd/%% | while read a ;do +[ -d $SYSTEMDFILES ] && find ${ROOTFS}usr/lib/ublinux/systemd -type f | sed s%${ROOTFS}usr/lib/ublinux/systemd/%% | while read a; do ln -sf /usr/lib/ublinux/systemd/$a $SYSTEMDFILES done -[ -d $SYSTEMDFILES ] && ls -1d ${ROOTFS}usr/lib/ublinux/systemd/*.wants | sed s%${ROOTFS}usr/lib/ublinux/systemd/%% | while read a ;do +[ -d $SYSTEMDFILES ] && ls -1d ${ROOTFS}usr/lib/ublinux/systemd/*.wants | sed s%${ROOTFS}usr/lib/ublinux/systemd/%% | while read a; do mkdir -p $SYSTEMDFILES/$a cp -df ${ROOTFS}usr/lib/ublinux/systemd/$a/* $SYSTEMDFILES/$a done diff --git a/ublinux/templates/ublinux-data.ini b/ublinux/templates/ublinux-data.ini index 85c72cc..d2cd709 100644 --- a/ublinux/templates/ublinux-data.ini +++ b/ublinux/templates/ublinux-data.ini @@ -144,11 +144,45 @@ DEPMOD=yes ## Алгоритм сжатия, используемый для сохранения изменений в модуль #MKSQFS_FASTALG="-b 512K -comp lz4 -Xhc" +[/etc/ublinux/system] +## Базовые настройки системы +################################################################################ +## Установить переменные окружения глобальные и пользовательские +## ENVIROMENT[system:]= +## ENVIROMENT[profile:]= +## ENVIROMENT[:]= +## system: # Установить глобальные переменные окружения systemd в /etc/environment.d/ubconfig-etc-10-system.conf +## profile: # Установить переменные окружения только для оболочек входа совместимые Bourne shell в /etc/profile.d/ubconfig-10-system.sh /etc/profile.d/ubconfig-10-system.csh +## : # Имя пользователя для которого будет установлена переменная окружения systemd в домашнем каталоге пользователя ~/.config/environment.d/ubconfig-user-10-system.conf +## # Имя переменной +## # Значение переменной +#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. Профили /usr/share/authselect/default +## AUTHPAM[]=|disable|no|off +## # Профиль +## *minimal # Local users only for minimal installations, default +## nis # Enable NIS for system authentication +## sssd # Enable SSSD for system authentication (also for local users only) +## winbind # Enable winbind for system authentication +## # Функции для профиля, доступные функции для профиля: +## 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 # Отключить выбор профиля +## Информация о профиле: authselect show sssd +#AUTHPAM[minimal]=with-faillock,with-time,with-systemd-homed +#AUTHPAM[sssd]=with-faillock,with-time,with-systemd-homed,with-mkhomedir-simple +#AUTHPAM=disable + [/etc/ublinux/users] ## Базовые настройки пользователей и групп ################################################################################ ## Default user password is 'ublinux' -## Что-бы получить хэш "openssl passwd -6 " | "mkpasswd2 -m sha256crypt " | "mkpasswd -m help" +## Что-бы получить хэш "openssl passwd -6 " | "mkpasswd2 -m sha256crypt " | "mkpasswd2 -m help" ## Хэш пароля для пользователя по умолчанию (стандартно ublinux) ## Если пароль стандартный, то будет подсказка на фоне рабочего стола + /etc/ublinux/firstboot (Первый запуск для настройки системы) @@ -163,7 +197,9 @@ DEFAULTROOTPASSWD='$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnK DEFAULTUSER=superadmin ## Default hash algoritm for user password -## Алгоритм хеширования паролей, возможные значения: des, md5, yescrypt, gost-yescrypt, scrypt, bf, bcrypt, bcrypt-a, sha512crypt, sha256crypt, sunmd5, md5crypt, bsdicrypt, descrypt, nt +## Алгоритм хеширования паролей, возможные значения: des, md5, yescrypt, gost-yescrypt, scrypt, bf, bcrypt, sha512crypt, sha256crypt, md5crypt, descrypt +## Алгоритмы ГОСТ: yescrypt, gost-yescrypt +## Отключены: sunmd5, bcrypt-a, bsdicrypt, nt #HASHPASSWD=sha512crypt ## You can cpecify users there whithout using "user=" boot parameter @@ -171,7 +207,7 @@ DEFAULTUSER=superadmin ## NEEDEDUSERS='name_user:id:password:show_name:, ... ' password=x=$DEFAULTPASSWD NEEDEDUSERS='superadmin:1000:x:Администратор' -## Пользователи системы +## Добавить пользователя системы в /etc/passwd. Если пользователь существует, то без изменений ## USERADD[user_name]='gecos:uid:user_group:extra_groups:optional:password_hash|x' ## user_name # Имя пользователя, обязательное поле ## gecos # Поле GECOS, с подробным описанием пользователя, можно локализованное, не обязательное @@ -186,13 +222,38 @@ NEEDEDUSERS='superadmin:1000:x:Администратор' ## -N, --no-user-group # Не создавать группу с тем же именем что и у пользователя ## -o, --non-unique # Разрешить создание пользователей с повторяющимися (не уникальными) UID ## --badnames # Не проверять имя на несоответствие правилам использования символов -## -e, --expiredate <ДАТА_УСТ> # Дата устаревания новой учётной записи -## -f, --inactive <НЕАКТИВНОСТЬ> # Период неактивности пароля новой учётной записи -## password_hash|x # Хеш пароля пользователя, если выбрано 'x', то 'password_hash=DEFAULTPASSWD' +## password_hash|x # Хеш пароля пользователя, если выбрано 'x', то 'password_hash=${DEFAULTPASSWD}' +## # Если первые символы (!*) то аутентификация запрещена +## # Если первый символ (*) или (!), то аутентификация по паролю заблокирована. Но другие методы входа, такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены ## USERADD[superadmin]=Администратор:1000:x:wheel ## 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' +## user_name # Имя пользователя, необязательное поле. Если не указано, то применяется для всех пользователей +## boot # При загрузке системы принудительно применить глобальную конфигурацию на пользователя +## shutdown # При завершении работы системы синхронизировать указанных пользователей в системе с глобальной конфигурацией + +## Параметры пользователя системы /etc/shadow. Если пользователь существует, то без изменений +## USERSHADOW[user_name]='lastchanged:minday:maxday:warn:inactive:expire' +## user_name # Имя пользователя, обязательное поле +## lastchanged # Дата последнего изменения пароля. Указывается, количество дней исчисляется с 1 января 1970 года (дата эпохи) +## minday # Минимальное количество дней действия пароля, прежде чем пароль пользователя может быть изменен. По умолчанию 0 означает отсутствие минимального срока действия пароля +## maxday # Максимальное количество дней действия пароля после смены пароля пользователя. По умолчанию этот номер установлен на 99999 +## warn # Количество дней предупреждения, в течение которого пользователь получает предупреждение о необходимости изменения пароля +## inactive # Количество дней не активности пароля до отключения учетной записи пользователя. По умолчанию пустое +## expire # Срок хранения. Дата, когда учетная запись была отключена. Указывается, количество дней исчисляется с 1 января 1970 года (дата эпохи) +## # Если один из параметров не задан, содержит пустое значение, то исходное значение не изменяется +## USERSHADOW[superadmin]=19695:0:99999:7::: +## USERSHADOW[superadmin]=18009:0:120:7:14:: + +## Синхронизация параметры пользователей системы /etc/shadow с глобальной конфигурацией +## USERSHADOW_SYNC[user_name]='boot,shutdown' +## user_name # Имя пользователя, необязательное поле. Если не указано, то применяется для всех пользователей +## boot # При загрузке системы принудительно применить глобальную конфигурацию на пользователя +## shutdown # При завершении работы системы синхронизировать указанных пользователей в системе с глобальной конфигурацией + ## Группы системы ## GROUPADD[group_name]='group_users:gid:optional:password_hash|x' ## group_name # Имя группы @@ -214,40 +275,6 @@ NEEDEDUSERS='superadmin:1000:x:Администратор' ## * =yes # Добавить пользователя ID 1000 в группу 'wheel' ## =no # Не выполнять действие -[/etc/ublinux/system] -## Базовые настройки системы -################################################################################ -## Установить переменные окружения глобальные и пользовательские -## ENVIROMENT[system:]= -## ENVIROMENT[profile:]= -## ENVIROMENT[:]= -## system: # Установить глобальные переменные окружения systemd в /etc/environment.d/ubconfig-etc-10-system.conf -## profile: # Установить переменные окружения только для оболочек входа совместимые Bourne shell в /etc/profile.d/ubconfig-10-system.sh /etc/profile.d/ubconfig-10-system.csh -## : # Имя пользователя для которого будет установлена переменная окружения systemd в домашнем каталоге пользователя ~/.config/environment.d/ubconfig-user-10-system.conf -## # Имя переменной -## # Значение переменной -#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. Профили /usr/share/authselect/default -## AUTHPAM[]=|disable|no|off -## # Профиль -## *minimal # Local users only for minimal installations, default -## nis # Enable NIS for system authentication -## sssd # Enable SSSD for system authentication (also for local users only) -## winbind # Enable winbind for system authentication -## # Функции для профиля, доступные функции для профиля: -## 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 # Отключить выбор профиля -## Информация о профиле: authselect show sssd -#AUTHPAM[minimal]=with-faillock,with-time,with-systemd-homed -#AUTHPAM[sssd]=with-faillock,with-time,with-systemd-homed,with-mkhomedir-simple -#AUTHPAM=disable - [/etc/ublinux/logging] ## Настройка аудита и логгирования ################################################################################