Add [config] DM_HINT_PASSWORD=

master v2.92
Dmitry Razumov 1 year ago
parent 17d9b371f0
commit b2db6adaab
Signed by: asmeron
GPG Key ID: 50BC1DB583B79706

@ -147,9 +147,8 @@ NOSECUREROOTPASSWD=${DEFAULTROOTPASSWD}
ADMGROUPS=wheel,vboxsf,disk ADMGROUPS=wheel,vboxsf,disk
ADMUID=1000 ADMUID=1000
ADDADM=yes ADDADM=yes
#/rc.preinit/10-accounts
HASHPASSWD=yescrypt HASHPASSWD=yescrypt
DM_HINT_PASSWORD=
#/rc.preinit/50-xorg #/rc.preinit/50-xorg
#NVIDIATEST="nvidia-current nvidia340 nvidia304 nvidia" #NVIDIATEST="nvidia-current nvidia340 nvidia304 nvidia"

@ -1388,13 +1388,15 @@ ubconfig_exec_system(){
case "[${SECTION_NAME}]" in case "[${SECTION_NAME}]" in
"[${SYSCONF}/config]"|"[config]") "[${SYSCONF}/config]"|"[config]")
case "${NAME_VAR}" in case "${NAME_VAR}" in
# --> OLD config
HOSTNAME) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/30-network-hostname ;; HOSTNAME) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/30-network-hostname ;;
SERVICESSTART|SERVICESNOSTART|SERVICESMASK|SERVICESUNMASK|\ SERVICESSTART|SERVICESNOSTART|SERVICESMASK|SERVICESUNMASK|\
SERVICES_ENABLE|SERVICES_DISABLE|SERVICES_MASK|SERVICES_UNMASK) SERVICES_ENABLE|SERVICES_DISABLE|SERVICES_MASK|SERVICES_UNMASK)
${ROOTFS}/usr/lib/ublinux/rc.preinit.d/20-services exec_services_enabledisable "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/20-services exec_services_enabledisable "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}"
${ROOTFS}/usr/lib/ublinux/rc.preinit.d/20-services exec_services_startstop_live "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/20-services exec_services_startstop_live "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}"
# <-- OLD config
;; ;;
FIRSTSTART) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_99_firststart "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;; DM_HINT_PASSWORD) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_99_dm_hint_password "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
*) NO_FIND_EXCUTE=1 ;; *) NO_FIND_EXCUTE=1 ;;
esac esac
;; ;;

@ -4,5 +4,5 @@ ENABLED=no
[[ ${ENABLED} == "yes" ]] || exit 0 [[ ${ENABLED} == "yes" ]] || exit 0
. /usr/lib/ublinux/default . /usr/lib/ublinux/default
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
[ "$RUNLDCONFIG" != "yes" -a "$RUNLDCONFIG" != "no" ] && bash -c "sleep 30 && sudo /sbin/ldconfig" & [[ ${RUNLDCONFIG} != "yes" && ${RUNLDCONFIG} != "no" ]] && bash -c "sleep 30 && sudo /sbin/ldconfig" &

@ -452,9 +452,9 @@ exec_04_repopublic_cache(){
## 12h # Каждые 12 часов, возможно указать любую цифру ## 12h # Каждые 12 часов, возможно указать любую цифру
## *7d # Каждые 7 дней, возможно указать любую цифру ## *7d # Каждые 7 дней, возможно указать любую цифру
## 1M # Один раз в месяц, возможно указать любую цифру ## 1M # Один раз в месяц, возможно указать любую цифру
## Настройка репозиториев обновления ## TODO: Настройка репозиториев обновления
## AUTOUPDATE[repos]=<repository> ## AUTOUPDATE[repos]=<repository_1>,<repository_2>,<repository_n>
## <repository> # Имена репозиториев с которых будет происходить обновление. Если не указано, то по умолчанию системные ## <repository_n> # Имена репозиториев с которых будет происходить обновление. Если не указано, то по умолчанию все системные
## AUTOUPDATE=enable ## AUTOUPDATE=enable
exec_autoupdate(){ exec_autoupdate(){
enable_autoupdate(){ enable_autoupdate(){

@ -453,7 +453,7 @@ insert_background_icon(){
[[ -z ${BUILD_MANUAL} ]] && cp -pf "${wallpapers_dst}/${edition_os}_boot_${fname_ratio}_${RESOLUTION}.jpg" "${default_dm_img}" [[ -z ${BUILD_MANUAL} ]] && cp -pf "${wallpapers_dst}/${edition_os}_boot_${fname_ratio}_${RESOLUTION}.jpg" "${default_dm_img}"
# Если пароли по умолчанию ublinux, то вывести подсказку пароля # Если пароли по умолчанию ublinux, то вывести подсказку пароля
[[ -z ${BUILD_MANUAL} && -n ${FIRSTSTART} ]] && insert_background_dm_txtpass [[ -z ${BUILD_MANUAL} && -n ${DM_HINT_PASSWORD} ]] && insert_background_dm_txtpass
if [[ -z ${BUILD_MANUAL} ]] && [[ ${GRAFFITI} != @(none|no|disable) ]]; then if [[ -z ${BUILD_MANUAL} ]] && [[ ${GRAFFITI} != @(none|no|disable) ]]; then
[[ -z $3 ]] && state_mode="$(cmdline_value ub.mode)" || state_mode=$3 [[ -z $3 ]] && state_mode="$(cmdline_value ub.mode)" || state_mode=$3

@ -62,8 +62,8 @@ EOF
#PASS_ADMUID=$(grep "^$(grep ":${ADMUID}:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1):" ${ROOTFS}/etc/shadow | cut -d: -f2) #" #PASS_ADMUID=$(grep "^$(grep ":${ADMUID}:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1):" ${ROOTFS}/etc/shadow | cut -d: -f2) #"
[[ $(cat "${ROOTFS}/etc/login.defs") =~ ($'\n'|^)+UID_MIN[[:blank:]]+([[:digit:]]+)($'\n'|$)+ ]] && UID_MIN=${BASH_REMATCH[2]:-1000} [[ $(cat "${ROOTFS}/etc/login.defs") =~ ($'\n'|^)+UID_MIN[[:blank:]]+([[:digit:]]+)($'\n'|$)+ ]] && UID_MIN=${BASH_REMATCH[2]:-1000}
MORE_ONE_USER=$(awk -F':' -v USER_MIN=${UID_MIN} '$3 > USER_MIN && $1 != "nobody" {print $1}' ${ROOTFS}/etc/passwd) MORE_ONE_USER=$(awk -F':' -v USER_MIN=${UID_MIN} '$3 > USER_MIN && $1 != "nobody" {print $1}' ${ROOTFS}/etc/passwd)
# Если в системе всего один пользователь и FIRSTSATART, то автологин # Если в системе всего один пользователь и DM_HINT_PASSWORD, то автологин
[[ -z ${MORE_ONE_USER} && -n ${FIRSTSTART} ]] && AUTOLOGINUSER=yes [[ -z ${MORE_ONE_USER} && -n ${DM_HINT_PASSWORD} ]] && AUTOLOGINUSER=yes
fi fi
if [[ ${AUTOLOGINUSER} == @("yes"|"enable") && -n ${DISPLAYMANAGER_DEFAULTUSER} ]]; then if [[ ${AUTOLOGINUSER} == @("yes"|"enable") && -n ${DISPLAYMANAGER_DEFAULTUSER} ]]; then

@ -551,10 +551,10 @@ exec_06_useradd(){
# ----------- # -----------
# Вызов как исполнителя после ubconfig # Вызов как исполнителя после ubconfig
if [[ -n ${PARAM} && -z ${ROOTFS} ]]; then if [[ -n ${PARAM} && -z ${ROOTFS} ]]; then
# # Добавим пользователя в дополнительные группы # Добавим пользователя в дополнительные группы
# exec_08_user_members "USERADD[${SELECT_USERNAME}]=${USERADD[${SELECT_USERNAME}]}" exec_08_user_members "USERADD[${SELECT_USERNAME}]=${USERADD[${SELECT_USERNAME}]}"
# # Задаём параметры пароля пользователю /etc/shadow из USERSHADOW[user] # Задаём параметры пароля пользователю /etc/shadow из USERSHADOW[user]
# [[ -n ${USERSHADOW[${SELECT_USERNAME}]} ]] && exec_07_usershadow "USERSHADOW[${SELECT_USERNAME}]=${USERSHADOW[${SELECT_USERNAME}]}" [[ -n ${USERSHADOW[${SELECT_USERNAME}]} ]] && exec_07_usershadow "USERSHADOW[${SELECT_USERNAME}]=${USERSHADOW[${SELECT_USERNAME}]}"
# Добавить параметр в ${FILE_ROOT_USERS}=.users_credential и удалить хеш пароля параметра USERADD[.*] в /etc/ublinux/users # Добавить параметр в ${FILE_ROOT_USERS}=.users_credential и удалить хеш пароля параметра USERADD[.*] в /etc/ublinux/users
if [[ -f ${FILE_ROOT_USERS} ]]; then if [[ -f ${FILE_ROOT_USERS} ]]; then
sed "/USERADD\[${SELECT_USERNAME}\]=/d" -i "${FILE_ROOT_USERS}" sed "/USERADD\[${SELECT_USERNAME}\]=/d" -i "${FILE_ROOT_USERS}"
@ -757,30 +757,31 @@ exec_08_user_members(){
fi fi
} }
# Autodetect firststart # Autodetect DM_HINT_PASSWORD
# Если пароли по умолчанию, то firststart # Если пароли по умолчанию, то DM_HINT_PASSWORD=yes
exec_99_firststart(){ exec_99_dm_hint_password(){
#echo "exec_99_firststart" #echo "exec_99_dm_hint_password"
[[ $1 == @("set="|"set+="|"set++="|"set-="|"set--="|"remove") ]] && local COMMAND=$1 && shift [[ $1 == @("set="|"set+="|"set++="|"set-="|"set--="|"remove") ]] && local COMMAND=$1 && shift
[[ -n ${COMMAND} ]] || local COMMAND="set=" [[ -n ${COMMAND} ]] || local COMMAND="set="
local PARAM="$@" local PARAM="$@"
if [[ -n ${PARAM} ]]; then if [[ -n ${PARAM} ]]; then
local FIRSTSTART= local DM_HINT_PASSWORD=
[[ ${PARAM%%=*} =~ [!\$%\&()*+,/\;\<\=\>?\^\{|\}~] ]] || eval "${PARAM%%=*}=\${PARAM#*=}" [[ ${PARAM%%=*} =~ [!\$%\&()*+,/\;\<\=\>?\^\{|\}~] ]] || eval "${PARAM%%=*}=\${PARAM#*=}"
fi fi
if [[ -n ${ROOTFS} ]]; then if [[ -n ${ROOTFS} ]]; then
if grep -q "^root:${DEFAULTROOTPASSWD}:" ${ROOTFS}/etc/shadow \ if grep -q "^root:${DEFAULTROOTPASSWD}:" ${ROOTFS}/etc/shadow \
&& grep -q "^$(grep ".*:x:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1):${DEFAULTPASSWD}:" ${ROOTFS}/etc/shadow; then && grep -q "^$(grep ".*:x:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1):${DEFAULTPASSWD}:" ${ROOTFS}/etc/shadow; then
grep -q "^FIRSTSTART$" ${SYSCONF}/config 2>/dev/null || echo "FIRSTSTART=yes" >> ${SYSCONF}/config [[ $(cat ${SYSCONF}/config 2>/dev/null) =~ ($'\n'|^)+'DM_HINT_PASSWORD=' ]] || echo "DM_HINT_PASSWORD=yes" >> ${SYSCONF}/config
else
sed "/DM_HINT_PASSWORD=/d" -i ${SYSCONF}/config
fi fi
elif [[ ${COMMAND} == @("set="|"set+="|"set++=") ]] && [[ -n ${FIRSTSTART} ]]; then elif [[ ${COMMAND} == @("set="|"set+="|"set++=") ]] && [[ -n ${DM_HINT_PASSWORD} ]]; then
[[ $(cat ${SYSCONF}/config 2>/dev/null) =~ ($'\n'|^)+'FIRSTSTART=' ]] || echo "FIRSTSTART=yes" >> ${SYSCONF}/config true
elif [[ ${COMMAND} == @("set-="|"set--="|"remove") ]]; then elif [[ ${COMMAND} == @("set-="|"set--="|"remove") ]]; then
sed "/FIRSTSTART=/d" -i ${SYSCONF}/config true
fi fi
} }
################ ################
##### MAIN ##### ##### MAIN #####
################ ################

@ -145,7 +145,7 @@ if [ -x /usr/bin/convert ] ;then
if [ "$GRAFFITI" != "no" -a -x /usr/bin/composite ] ;then if [ "$GRAFFITI" != "no" -a -x /usr/bin/composite ] ;then
. /usr/lib/ublinux/default . /usr/lib/ublinux/default
A=0 A=0
[[ -n ${FIRSTSTART} ]] && A=1 [[ -n ${DM_HINT_PASSWORD} ]] && A=1
[ "$A" = "1" ] && composite -gravity NorthWest /usr/share/ublinux/graffiti/warning.png /tmp/background.jpg /tmp/background2.jpg [ "$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 [ -f /tmp/background2.jpg ] && mv -f /tmp/background2.jpg /tmp/background.jpg
fi fi

@ -459,9 +459,9 @@ SERVICES_ENABLE=dbus-broker,NetworkManager,sshd,swapspace,systemd-timesyncd,cups
## 12h # Каждые 12 часов, возможно указать любую цифру ## 12h # Каждые 12 часов, возможно указать любую цифру
## *7d # Каждые 7 дней, возможно указать любую цифру ## *7d # Каждые 7 дней, возможно указать любую цифру
## 1M # Один раз в месяц, возможно указать любую цифру ## 1M # Один раз в месяц, возможно указать любую цифру
## Настройка репозиториев обновления ## TODO: Настройка репозиториев обновления
## AUTOUPDATE[repos]=<repository> ## AUTOUPDATE[repos]=<repository_1>,<repository_2>,<repository_n>
## <repository> # Имена репозиториев с которых будет происходить обновление. Если не указано, то по умолчанию системные ## <repository_n> # Имена репозиториев с которых будет происходить обновление. Если не указано, то по умолчанию все системные
## AUTOUPDATE=enable ## AUTOUPDATE=enable
## ##
## Врямя проведения последнего обновления ## Врямя проведения последнего обновления

Loading…
Cancel
Save