From 7bf0d4cac1a9847340736c934aece2df350b90ef Mon Sep 17 00:00:00 2001 From: amid Date: Mon, 13 Feb 2023 19:26:43 +0600 Subject: [PATCH] [package] update --- ublinux/os-config | 8 ++ ublinux/rc.d/rc.post | 2 +- ublinux/rc.halt/20-timesave | 4 +- ublinux/rc.post.d/02-hwclock | 6 +- ublinux/rc.post.d/10-backgrounds | 7 +- ublinux/rc.post.d/16-kiosk-desktop | 2 +- ublinux/rc.post.d/16-kiosk-polkit | 48 ------- .../rc.post.d/{16-kiosk-gtk => 17-kiosk-gtk} | 0 ...k-xfce4-kioskrc => 18-kiosk-xfce4-kioskrc} | 0 ublinux/rc.preinit.d/04-update-fonts | 40 +++--- ublinux/rc.preinit.d/10-system | 66 ++++++--- ublinux/rc.preinit.d/20-services | 2 +- ublinux/rc.preinit.d/21-ntp | 50 +++++-- ublinux/rc.preinit.d/51-autologin | 49 +++---- ublinux/rc.preinit.d/56-security | 95 +++++++++++++ ublinux/rc.preinit.d/90-apparmor | 38 ++--- ublinux/templates/ublinux-data.ini | 130 ++++++++++++------ 17 files changed, 357 insertions(+), 190 deletions(-) delete mode 100755 ublinux/rc.post.d/16-kiosk-polkit rename ublinux/rc.post.d/{16-kiosk-gtk => 17-kiosk-gtk} (100%) rename ublinux/rc.post.d/{16-kiosk-xfce4-kioskrc => 18-kiosk-xfce4-kioskrc} (100%) create mode 100755 ublinux/rc.preinit.d/56-security diff --git a/ublinux/os-config b/ublinux/os-config index 7b06ea1..8bc1985 100644 --- a/ublinux/os-config +++ b/ublinux/os-config @@ -166,6 +166,13 @@ MKSQFS_FASTALG="-b 32K -comp gzip" #/rc.desktop/lxqt/qterminal #QTERMINALSTART=yes +#/rc.post.d/02-hwclock +#/rc.halt/20-timesave +HWCLOCK_SYNC="utc" + +#/rc.preinit.d/10-system +ZONE="UTC" + #/rc.preinit.d/52-desktop #/rc.post.d/02-hwclock #/rc.post.d/11-xorg @@ -174,6 +181,7 @@ SYSCONF=/etc/ublinux #/rc.preinit.d/21-ntp NTPSERVERS_DEFAULT="ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org" NTPSERVERS_FALLBACK="0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org 3.ru.pool.ntp.org" +NTP_SYSTEMSERVICE="systemd-timesyncd.service" #/rc.d/rc.desktop #NOEXEC="i3term:xbindkeys;i3term:fusion-icon;i3term:ublinuxupdate" diff --git a/ublinux/rc.d/rc.post b/ublinux/rc.d/rc.post index 6d5af4e..21c6f5a 100755 --- a/ublinux/rc.d/rc.post +++ b/ublinux/rc.d/rc.post @@ -20,6 +20,6 @@ for a in /usr/lib/ublinux/rc.runonce/* ;do touch "$LOCKDIR/$(basename $a)" done -readlink -fq /usr/bin/init 2>/dev/null | grep -q /lib/systemd/systemd && wait +readlink -fq /usr/bin/init 2>/dev/null | grep -q "lib/systemd/systemd$" && wait true diff --git a/ublinux/rc.halt/20-timesave b/ublinux/rc.halt/20-timesave index 2e5cfd3..9cb1aeb 100755 --- a/ublinux/rc.halt/20-timesave +++ b/ublinux/rc.halt/20-timesave @@ -10,5 +10,5 @@ ENABLED=yes SOURCE=${SYSCONF}/clock; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null HWCLOCKOPIONS="--utc" -[ "$UTC" = "false" ] && HWCLOCKOPIONS="--localtime" -hwclock -w $HWCLOCKOPIONS +[[ ${HWCLOCK_SYNC} = "localtime" ]] && HWCLOCKOPIONS="--localtime" +hwclock --systohc ${HWCLOCKOPIONS} diff --git a/ublinux/rc.post.d/02-hwclock b/ublinux/rc.post.d/02-hwclock index fcb20d7..98b5ff6 100755 --- a/ublinux/rc.post.d/02-hwclock +++ b/ublinux/rc.post.d/02-hwclock @@ -7,10 +7,10 @@ DEBUGMODE=no . /usr/lib/ublinux/os-config debug_mode "$0" "$@" -[ "$SETCLKATSTART" = "no" ] && exit 0 +[[ "${SETCLKATSTART}" == "no" ]] && exit 0 SOURCE=${SYSCONF}/clock; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null HWCLOCKOPIONS="--utc" -[ "$UTC" = "false" ] && HWCLOCKOPIONS="--localtime" -hwclock -s $HWCLOCKOPIONS +[[ ${HWCLOCK_SYNC} == "localtime" ]] && HWCLOCKOPIONS="--localtime" +hwclock --hctosys ${HWCLOCKOPIONS} diff --git a/ublinux/rc.post.d/10-backgrounds b/ublinux/rc.post.d/10-backgrounds index fffa23f..bf458a1 100755 --- a/ublinux/rc.post.d/10-backgrounds +++ b/ublinux/rc.post.d/10-backgrounds @@ -276,11 +276,12 @@ insert_background_icon(){ # Определение редакции ОС [[ -z $2 ]] && edition_os=$(cat /etc/os-release | grep VERSION_CODENAME | cut -d"=" -f2 2>/dev/null) || edition_os=$2 - width=${RESOLUTION%x*} - hight=${RESOLUTION#*x} + width=${RESOLUTION%x*}; width=${width:-1920} + hight=${RESOLUTION#*x}; hight=${hight:-1080} #echo "${width} on ${hight}" + # Вычисление соотношения сторон экрана - ratio=$(bc <<< "scale=2;${width:=1024}/${hight:=768}") + ratio=$(bc <<< "scale=2;${width}/${hight}") if [ $(bc -l <<< "$ratio==1.33") -eq 1 ]; then fname_ratio="4:3" elif [ $(bc -l <<< "$ratio==1.25") -eq 1 ]; then diff --git a/ublinux/rc.post.d/16-kiosk-desktop b/ublinux/rc.post.d/16-kiosk-desktop index f347850..ebbda2b 100755 --- a/ublinux/rc.post.d/16-kiosk-desktop +++ b/ublinux/rc.post.d/16-kiosk-desktop @@ -11,7 +11,7 @@ debug_mode "$0" "$@" SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/kiosk; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null -## Настройка desktop файлов +## TODO Настройка desktop файлов if [[ -n ${APPDESKTOP_WHITELIST[@]} ]]; then for USER in "${!APPDESKTOP_WHITELIST[@]}"; do true diff --git a/ublinux/rc.post.d/16-kiosk-polkit b/ublinux/rc.post.d/16-kiosk-polkit deleted file mode 100755 index c641fad..0000000 --- a/ublinux/rc.post.d/16-kiosk-polkit +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash - -ENABLED=yes -[ "$ENABLED" != "yes" ] && exit 0 -DEBUGMODE=no - -SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 -SOURCE=/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 -debug_mode "$0" "$@" - -SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null -SOURCE=${SYSCONF}/kiosk; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null - -## Настрока polkit правил - rm -f /etc/polkit-1/rules.d/kiosk-* - if [[ -n ${POLKIT[@]} ]]; then - for RULES in "${!POLKIT[@]}"; do - RULES_GROUP= - RULES_FILE="/etc/polkit-1/rules.d/kiosk-$(sed 's/\([A-z0-9]*.[A-z0-9]*.[A-z0-9]*\)\..*/\1/' <<< ${RULES}).rules" - RULES_RESULT=$(cut -d: -f1 <<< ${POLKIT[${RULES}]}) - for GROUP in $(grep ":" <<< ${POLKIT[${RULES}]} | cut -d: -f2 | tr ',' '\n'); do - RULES_GROUP+="&& subject.isInGroup(\"${GROUP}\") " - done - cat >> ${RULES_FILE} </dev/null && break -# done < <(lspci -ks ${LSPCI_DEVICE%% *} | grep 'Kernel modules:' | cut -d: -f2 | tr ',' '\n' | tac) -# done < <(lspci | egrep -i 'vga|3d') - - \ No newline at end of file diff --git a/ublinux/rc.post.d/16-kiosk-gtk b/ublinux/rc.post.d/17-kiosk-gtk similarity index 100% rename from ublinux/rc.post.d/16-kiosk-gtk rename to ublinux/rc.post.d/17-kiosk-gtk diff --git a/ublinux/rc.post.d/16-kiosk-xfce4-kioskrc b/ublinux/rc.post.d/18-kiosk-xfce4-kioskrc similarity index 100% rename from ublinux/rc.post.d/16-kiosk-xfce4-kioskrc rename to ublinux/rc.post.d/18-kiosk-xfce4-kioskrc diff --git a/ublinux/rc.preinit.d/04-update-fonts b/ublinux/rc.preinit.d/04-update-fonts index 602cd11..e693e5e 100755 --- a/ublinux/rc.preinit.d/04-update-fonts +++ b/ublinux/rc.preinit.d/04-update-fonts @@ -3,32 +3,34 @@ ENABLED=yes [ "$ENABLED" != "yes" ] && exit 0 DEBUGMODE=no -#. /usr/lib/ublinux/functions -#. /usr/lib/ublinux/os-config + +PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin + +unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" -#for font_dir in /usr/share/fonts{,/default}/TTF /usr/X11R6/lib/X11/fonts/TTF; do -# if [ -d "${font_dir}" ]; then +#for FONT_PATH in /usr/share/fonts{,/default}/TTF /usr/X11R6/lib/X11/fonts/TTF; do +# if [ -d "${FONT_PATH}" ]; then # fcneed=on -# mkfontscale ${font_dir} -# mkfontdir ${font_dir} +# mkfontscale ${FONT_PATH} +# mkfontdir ${FONT_PATH} # fi #done #[ $fcneed ] && fc-cache -f -s -for font_dir in usr/share/fonts{,/default}/TTF usr/X11R6/lib/X11/fonts/TTF; do - if [[ -d "${font_dir}" ]]; then - chroot . usr/bin/mkfontscale ${font_dir} - chroot . usr/bin/mkfontdir ${font_dir} - fi -done - -#for font_dir in /usr/share/fonts/*; do -# if [ -d "${font_dir}" ]; then -# xset +fp "${font_dir}" 2>&1 &>/dev/null -# mkfontscale "${font_dir}" -# mkfontdir "${font_dir}" +#for FONT_PATH in /usr/share/fonts/*; do +# if [ -d "${FONT_PATH}" ]; then +# xset +fp "${FONT_PATH}" 2>&1 &>/dev/null +# mkfontscale "${FONT_PATH}" +# mkfontdir "${FONT_PATH}" # fi #done && xset fp rehash #2>&1 &>/dev/null -chroot . usr/bin/fc-cache -s 2>&1 &>/dev/null + for FONT_PATH in usr/share/fonts{,/default}/TTF usr/X11R6/lib/X11/fonts/TTF; do + if [[ -d "${FONT_PATH}" ]]; then + chroot . usr/bin/mkfontscale ${FONT_PATH} + chroot . usr/bin/mkfontdir ${FONT_PATH} + fi + done + chroot . usr/bin/fc-cache -s 2>&1 &>/dev/null diff --git a/ublinux/rc.preinit.d/10-system b/ublinux/rc.preinit.d/10-system index bdd28e8..49ac96c 100755 --- a/ublinux/rc.preinit.d/10-system +++ b/ublinux/rc.preinit.d/10-system @@ -9,6 +9,7 @@ ENABLED=yes [ "$ENABLED" != "yes" ] && exit 0 DEBUGMODE=no +SELF_NAME="10-system" PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. @@ -18,24 +19,31 @@ debug_mode "$0" "$@" SYSCONF="${ROOTFS}/${SYSCONF}" SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null +SOURCE=${SYSCONF}/clock; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null +exec_linklivedata(){ #PATHLIVEDATA=$(find /memory/layer-base/*/* -maxdepth 0 -type f -iname "ublinux-data*.sgn" -exec dirname {} \;) PATHLIVEDATA=$(find /memory/data/from/*/* -maxdepth 0 -type d -iname "ublinux-data" -exec dirname {} \;) - [[ -d ${PATHLIVEDATA} ]] && [[ ! -d ${ROOTFS}/mnt/livedata ]] && ln -sf ${PATHLIVEDATA} ${ROOTFS}/mnt/livedata - + [[ -d ${PATHLIVEDATA} ]] && [[ ! -e ${ROOTFS}/mnt/livedata ]] && ln -sf ${PATHLIVEDATA} ${ROOTFS}/mnt/livedata +} +exec_ntfsmount(){ ps | grep ntfsmount | awk '{ print $1 }' >> ${ROOTFS}/var/run/sendsigs.omit - +} +exec_timezone(){ #Setting up local time zone - [[ -f ${SYSCONF}/clock ]] && . ${SYSCONF}/clock [[ -f ${ROOTFS}/usr/share/zoneinfo/${ZONE} ]] && ln -sf "/usr/share/zoneinfo/${ZONE}" ${ROOTFS}/etc/localtime - +} +exec_machineid(){ #Setting machine-id - if [[ ! -f ${ROOTFS}/etc/machine-id ]]; then - echo "${MACHINEID}" | grep -qi ^random$ && MACHINEID=$(dd if=/dev/urandom count=1 bs=512 2>/dev/null | cat - /sys/class/net/*/address 2>/dev/null | md5sum | awk '{ print $1}') - [[ -z "${MACHINEID}" ]] && MACHINEID=$(lspci -nmm | grep ^00 | md5sum | awk '{ print $1}') - echo "${MACHINEID}" > ${ROOTFS}/etc/machine-id + [[ -z ${MACHINEID} && ! -f ${ROOTFS}/etc/machine-id ]] && MACHINEID=hardware + if [[ ${MACHINEID,,} == @(random|rnd) ]]; then + MACHINEID=$(dd if=/dev/urandom count=1 bs=512 2>/dev/null | cat - /sys/class/net/*/address 2>/dev/null | md5sum | cut -d' ' -f1) + elif [[ ${MACHINEID,,} == @(hardware|hw) ]]; then + MACHINEID=$(lspci -nmm 2>/dev/null | grep ^00 | cat - /sys/class/net/*/address 2>/dev/null | md5sum | cut -d' ' -f1) fi - + [[ -z "${MACHINEID}" ]] || echo "${MACHINEID}" > ${ROOTFS}/etc/machine-id +} +exec_udevrules(){ #Setting UDEV FILE_UDEV_99="/usr/lib/ublinux/udev/99-hide-partition-ubconfig.rules" FILE_UDEV_70="/usr/lib/ublinux/udev/70-setup-prn-ubconfig.rules" @@ -46,26 +54,46 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null else rm -f "${ROOTFS}/etc/udev/rules.d/${FILE_UDEV_70##*/}" fi - +} +exec_statemode(){ ## Setting state mode - STATE_MODE="$(cmdline_value ub.mode)" - STATE_HOME="$(cmdline_value ub.home)" + STATE_MODE=$(cmdline_value ub.mode) + STATE_HOME=$(cmdline_value ub.home) ## Полное сохранение ub.mode=changes if [[ ${STATE_MODE} =~ ^"changes"$ ]]; then - echo "SYSTEMBOOT_STATEMODE=changes" >> ${SYSCONF}/config + sed -e '$a\SYSTEMBOOT_STATEMODE=changes' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config + #sed "s/SYSTEMBOOT_STATEMODE=.*/SYSTEMBOOT_STATEMODE=changes/" -i ${SYSCONF}/config ## Сохранение в модуль ub.mode=toxzm ub.mode=machines elif [[ ${STATE_MODE} =~ ^("toxzm"|"machines")$ ]]; then - echo "SYSTEMBOOT_STATEMODE=module" >> ${SYSCONF}/config + sed -e '$a\SYSTEMBOOT_STATEMODE=module' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config + #echo "SYSTEMBOOT_STATEMODE=module" >> ${SYSCONF}/config ## Полная песочница RAM ub.mode= ; ub.home= elif [[ ${STATE_MODE} == "" && ${STATE_HOME} == "" ]]; then - echo "SYSTEMBOOT_STATEMODE=sandbox" >> ${SYSCONF}/config + sed -e '$a\SYSTEMBOOT_STATEMODE=sandbox' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config + #echo "SYSTEMBOOT_STATEMODE=sandbox" >> ${SYSCONF}/config ## Песочница с сохранением профиля пользователя ub.mode= ; ub.home=/ublinux-data/homes elif [[ ${STATE_MODE} == "" && ${STATE_HOME} =~ ^"/" ]]; then - echo "SYSTEMBOOT_STATEMODE=sandbox_ram_home" >> ${SYSCONF}/config + sed -e '$a\SYSTEMBOOT_STATEMODE=sandbox_ram_home' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config + #echo "SYSTEMBOOT_STATEMODE=sandbox_ram_home" >> ${SYSCONF}/config ## Полная песочница HDD ub.mode=clear ; ub.home= elif [[ ${STATE_MODE} == "clear" && ${STATE_HOME} == "" ]]; then - echo "SYSTEMBOOT_STATEMODE=sandbox_hdd" >> ${SYSCONF}/config + sed -e '$a\SYSTEMBOOT_STATEMODE=sandbox_hdd' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config + #echo "SYSTEMBOOT_STATEMODE=sandbox_hdd" >> ${SYSCONF}/config ## Полная песочница HDD с сохранением профиля пользователя ub.mode=clear ; ub.home= elif [[ ${STATE_MODE} == "clear" && ${STATE_HOME} =~ ^"/" ]]; then - echo "SYSTEMBOOT_STATEMODE=sandbox_hdd_home" >> ${SYSCONF}/config + sed -e '$a\SYSTEMBOOT_STATEMODE=sandbox_hdd_home' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config + #echo "SYSTEMBOOT_STATEMODE=sandbox_hdd_home" >> ${SYSCONF}/config + fi +} + + if [[ ${0##*/} == ${SELF_NAME} && -z $@ ]]; then + while read -r FUNCTION; do + $"${FUNCTION##* }" + done < <(declare -F | grep "declare -f exec_") + elif [[ ${0##*/} == ${SELF_NAME} ]]; then + for FUNCTION in $@; do + ${FUNCTION} + done + else + true fi diff --git a/ublinux/rc.preinit.d/20-services b/ublinux/rc.preinit.d/20-services index de92887..ad1eb37 100755 --- a/ublinux/rc.preinit.d/20-services +++ b/ublinux/rc.preinit.d/20-services @@ -23,7 +23,7 @@ SOURCE=${SYSCONF}/config; [ -f "${SOURCE}" ] && . ${SOURCE} 2>/dev/null if [ ! -z "$SERVICESSTART$SERVICESNOSTART$SERVICESMASK$SERVICESUNMASK" ] ;then mkdir -p proc mount -o rbind /proc proc - ISSYSTEMD=$(readlink -fq usr/bin/init | grep /lib/systemd/systemd) + ISSYSTEMD=$(readlink -fq usr/bin/init | grep "lib/systemd/systemd$") for a in $(echo $SERVICESUNMASK,$SERVICESSTART | tr , " ") ;do [ $ISSYSTEMD ] && chroot . systemctl unmask $a done diff --git a/ublinux/rc.preinit.d/21-ntp b/ublinux/rc.preinit.d/21-ntp index 33a2765..0b37710 100755 --- a/ublinux/rc.preinit.d/21-ntp +++ b/ublinux/rc.preinit.d/21-ntp @@ -11,8 +11,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. - +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -22,15 +21,46 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null [[ -n $1 ]] && NTPSERVERS=$1 - [[ -n $2 ]] && ETH_INTERFACE="_$2" - - if [[ -n ${NTPSERVERS} && ${NTPSERVERS,,} != "dhcp" ]]; then + [[ -n $2 ]] && ETH_INTERFACE="-$2" + # List NTP servers: PART_SYSTEMDPATH/Service_Name Process_Name + NTP_SERVICES_PROCESS=" + sysinit.target.wants/systemd-timesyncd.service systemd-timesyncd + multi-user.target.wants/ntpd.service ntpd + multi-user.target.wants/ntpdate.service ntpdate + multi-user.target.wants/chronyd.service chronyd + multi-user.target.wants/openntpd.service ntpd + multi-user.target.wants/ptp4l.service ptp4l + multi-user.target.wants/phc2sys.service phc2sys" + + ISSYSTEMD=$(readlink -fq ${ROOTFS}/usr/bin/init | grep "lib/systemd/systemd$") + if [[ ${NTPSERVERS,,} == "stop" ]]; then + # Для systemd + if [[ -n ${ISSYSTEMD} ]]; then + while IFS=' ' read ITEM_NTP_SERVICE ITEM_NTP_PROCESS; do + [[ -z ${ITEM_NTP_SERVICE} || -z ${ITEM_NTP_PROCESS} ]] && continue + if [[ -n ${ROOTFS} ]]; then + ${CMD_CHROOT} systemctl --quiet disable ${ITEM_NTP_SERVICE##*/} &>/dev/null + else + systemctl --quiet disable --now ${ITEM_NTP_SERVICE##*/} &>/dev/null || pkill -9 ${ITEM_NTP_PROCESS} + fi + done < <(tr -d '\t' <<< ${NTP_SERVICES_PROCESS}) + fi + # Вызывая из NetworkManager скрипта, переменна ${NTPSERVERS} перезаписана на сервера NTP + elif [[ -n ${NTPSERVERS} && ${NTPSERVERS,,} != "dhcp" ]]; then [[ ${NTPSERVERS,,} == "default" ]] && NTPSERVERS=${NTPSERVERS_DEFAULT} - if [[ -f ${ROOTFS}/usr/lib/systemd/system/systemd-timesyncd.service ]]; then - CONFIG_TIMESYNCD=${ROOTFS}/etc/systemd/timesyncd.conf.d/ubconfig${ETH_INTERFACE}.conf + if [[ -n ${ISSYSTEMD} && ${NTP_SYSTEMSERVICE} == "systemd-timesyncd.service" && -f ${ROOTFS}/usr/lib/systemd/system/systemd-timesyncd.service ]]; then + CONFIG_TIMESYNCD=${ROOTFS}/etc/systemd/timesyncd.conf.d/ulinux${ETH_INTERFACE}.conf mkdir -p ${ROOTFS}/etc/systemd/timesyncd.conf.d - echo "[Time]" > ${CONFIG_TIMESYNCD} - echo "NTP=${NTPSERVERS}" | tr ',;' ' ' >> ${CONFIG_TIMESYNCD} - echo "FallbackNTP=${NTPSERVERS_FALLBACK}" >> ${CONFIG_TIMESYNCD} + NTPSERVERS=$(tr ',;' ' ' <<< ${NTPSERVERS}) + cat <<-EOF > "${CONFIG_TIMESYNCD}" +[Time] +NTP=${NTPSERVERS} +FallbackNTP=${NTPSERVERS_FALLBACK} +EOF + if [[ -n ${ROOTFS} ]]; then + ${CMD_CHROOT} systemctl --quiet enable ${NTP_SYSTEMSERVICE} &>/dev/null + else + systemctl --quiet enable --now ${NTP_SYSTEMSERVICE} &>/dev/null + fi fi fi diff --git a/ublinux/rc.preinit.d/51-autologin b/ublinux/rc.preinit.d/51-autologin index 65c2b62..da799ba 100755 --- a/ublinux/rc.preinit.d/51-autologin +++ b/ublinux/rc.preinit.d/51-autologin @@ -11,15 +11,18 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" SYSCONF="${ROOTFS}/${SYSCONF}" SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null +SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null - if [[ "${AUTOLOGINUSER}" == "none" ]]; then + AUTOLOGINUSER_CMDLINE=$(cmdline_value autologin) && [[ -n ${AUTOLOGINUSER_CMDLINE} ]] && AUTOLOGINUSER=${AUTOLOGINUSER_CMDLINE} + + if [[ -z "${AUTOLOGINUSER}" ]]; then unset AUTOLOGINUSER [[ -f ${ROOTFS}/etc/X11/gdm/custom.conf ]] && sed -i "s/^AutomaticLogin=.*//g" ${ROOTFS}/etc/X11/gdm/custom.conf [[ -f ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc ]] && sed -i "s/^AutoLoginUser=.*//g" ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc @@ -27,13 +30,19 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null [[ -f ${ROOTFS}/etc/slim.conf ]] && sed -i "s/^default_user[[:space:]].*//g" ${ROOTFS}/etc/slim.conf [[ -f ${ROOTFS}/etc/X11/slim/slim.conf ]] && sed -i "s/^default_user[[:space:]].*//g" ${ROOTFS}/etc/X11/slim/slim.conf [[ -f ${ROOTFS}/etc/lxdm/lxdm.conf ]] && sed -i "s/^autologin=.*//g" ${ROOTFS}/etc/lxdm/lxdm.conf - [[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]] && sed -i "s/^autologin-user=.*/#autologin-user=/g" ${ROOTFS}/etc/lightdm/lightdm.conf - else - if [[ -z "${DISPLAYMANAGER_DEFAULTUSER}" ]]; then - [[ -z "$(cmdline_value autologin)" ]] || AUTOLOGINUSER=$(cmdline_value autologin) - [[ -z "${AUTOLOGINUSER}" ]] && AUTOLOGINUSER=$(echo "${NEEDEDUSERS}" | awk -F: '{print $1}') - [[ -z "${AUTOLOGINUSER}" ]] && AUTOLOGINUSER=$(grep :${ADMUID}:${ADMUID}: ${ROOTFS}/etc/passwd | awk -F: '{print $1}') + if [[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]]; then + sed "/^autologin-user=.*/d" -i ${ROOTFS}/etc/lightdm/lightdm.conf + rm -f ${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-autologin.conf fi + else + if [[ ${AUTOLOGINUSER} == yes && -z ${DISPLAYMANAGER_DEFAULTUSER} ]]; then + unset AUTOLOGINUSER + AUTOLOGINUSER=$(grep ":${ADMUID}:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1) + elif [[ ${AUTOLOGINUSER} == yes && -n ${DISPLAYMANAGER_DEFAULTUSER} ]]; then + AUTOLOGINUSER="${DISPLAYMANAGER_DEFAULTUSER}" + fi + grep -q "^${AUTOLOGINUSER}:" ${ROOTFS}/etc/passwd || exit 0 + [[ -f ${ROOTFS}/etc/X11/gdm/custom.conf ]] && sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/X11/gdm/custom.conf [[ -f ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc ]] && sed -i "s/^AutoLoginUser=.*/AutoLoginUser=${AUTOLOGINUSER}/g" ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc [[ -f ${ROOTFS}/etc/sddm.conf ]] && sed -i "s/^User=.*/User=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/sddm.conf @@ -41,22 +50,16 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null [[ -f ${ROOTFS}/etc/X11/slim/slim.conf ]] && sed -i "s/^default_user[[:space:]].*/default_user ${AUTOLOGINUSER}/g" ${ROOTFS}/etc/X11/slim/slim.conf [[ -f ${ROOTFS}/etc/lxdm/lxdm.conf ]] && sed -i "s/^#autologin=.*/autologin=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/lxdm/lxdm.conf if [[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]]; then - if grep -q "^#autologin-user=.*" ${ROOTFS}/etc/lightdm/lightdm.conf 2>/dev/null; then - sed -i "s/^#autologin-user=.*/autologin-user=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/lightdm/lightdm.conf - else - sed -i "/\[Seat:\*\]/aautologin-user=${AUTOLOGINUSER}" ${ROOTFS}/etc/lightdm/lightdm.conf - fi -# sed -i "s/^#autologin-guest=.*/autologin-guest=false/" ${ROOTFS}/etc/lightdm/lightdm.conf -# sed -i "s/^#autologin-user-timeout=.*/autologin-user-timeout=0/" ${ROOTFS}/etc/lightdm/lightdm.conf - AUTOLOGIN_IDGROUP=$(grep -i "g\sautologin\s*[[:digit:]]\s*" ${ROOTFS}/usr/share/ublinux-sysusers/*.sysusers | cut -d: -f2 | xargs | cut -d " " -f3 | head -1) + sed "/^autologin-user=.*/d" -i ${ROOTFS}/etc/lightdm/lightdm.conf + mkdir -p ${ROOTFS}/etc/lightdm/lightdm.conf.d + cat <<-EOF | sed 's/^\s*\t*//' > "${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-autologin.conf" + [Seat:*] + autologin-user=${AUTOLOGINUSER} +EOF + AUTOLOGIN_IDGROUP=$(grep -i "g\s*autologin\s*[[:digit:]]\s*" ${ROOTFS}/usr/share/ublinux-sysusers/*.sysusers | cut -d: -f2 | xargs | cut -d " " -f3 | head -1) [[ -n ${AUTOLOGIN_IDGROUP} ]] && ARG_AUTOLOGIN_IDGROUP="-g ${AUTOLOGIN_IDGROUP}" - if [[ -n ${ROOTFS} ]]; then - chroot . ${ROOTFS}/usr/bin/groupadd -f ${ARG_AUTOLOGIN_IDGROUP} autologin >/dev/null 2>&1 - chroot . ${ROOTFS}/usr/bin/gpasswd -a ${AUTOLOGINUSER} autologin >/dev/null 2>&1 - else - /usr/bin/groupadd -f ${ARG_AUTOLOGIN_IDGROUP} autologin >/dev/null 2>&1 - /usr/bin/gpasswd -a ${AUTOLOGINUSER} autologin >/dev/null 2>&1 - fi + ${CMD_CHROOT} ${ROOTFS}/usr/bin/groupadd -f ${ARG_AUTOLOGIN_IDGROUP} autologin >/dev/null 2>&1 + ${CMD_CHROOT} ${ROOTFS}/usr/bin/gpasswd -M ${AUTOLOGINUSER} autologin >/dev/null 2>&1 fi fi diff --git a/ublinux/rc.preinit.d/56-security b/ublinux/rc.preinit.d/56-security new file mode 100755 index 0000000..3e0bd28 --- /dev/null +++ b/ublinux/rc.preinit.d/56-security @@ -0,0 +1,95 @@ +#!/bin/bash +# +# Initial script for Live operating system +# This script are launching before starting init from linux-live script. +# Current dir allways must be set to root (/) +# All system path must be relative, except initrd dirs + +ENABLED=yes +[ "$ENABLED" != "yes" ] && exit 0 +DEBUGMODE=no + +SELF_NAME="56-security" +PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin + +unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 +SOURCE=${ROOTFS}/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 +debug_mode "$0" "$@" + +SYSCONF="${ROOTFS}/${SYSCONF}" +SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null +SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null + +exec_access_denied_vtx11(){ + FILE_XORGDONTVTSWITCH_CONF="${ROOTFS}/etc/X11/xorg.conf.d/ublinux-disable-vt.conf" + FILE_SYSTEMDLOGIND_CONF="${ROOTFS}/etc/systemd/logind.conf.d/ublinux-disable-vt.conf" + FILE_LIGHTDM_CONF="${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-disable-vt.conf" + + if [[ ${ACCESS_DENIED_VTX11} == @(yes|enable) ]]; then + mkdir -p ${FILE_XORGDONTVTSWITCH_CONF%/*} + cat <<-EOF | sed 's/^\s*\t*//' > "${FILE_XORGDONTVTSWITCH_CONF}" + Section "ServerFlags" + Option "DontVTSwitch" "true" + EndSection +EOF + if readlink -fq ${ROOTFS}/usr/bin/init | grep -q "lib/systemd/systemd$"; then + mkdir -p ${FILE_SYSTEMDLOGIND_CONF%/*} + cat <<-EOF | sed 's/^\s*\t*//' > "${FILE_SYSTEMDLOGIND_CONF}" + [Login] + NAutoVTs=0 + ReserveVT=0 +EOF + fi + if [[ -d ${ROOTFS}/etc/lightdm ]]; then + mkdir -p ${FILE_LIGHTDM_CONF%/*} + cat <<-EOF | sed 's/^\s*\t*//' > "${FILE_LIGHTDM_CONF}" + [LightDM] + logind-check-graphical=true +EOF + fi + elif [[ ${ACCESS_DENIED_VTX11} == @(no|disable) ]]; then + rm -f "${FILE_SYSTEMDLOGIND_CONF}" "${FILE_XORGDONTVTSWITCH_CONF}" "${FILE_LIGHTDM_CONF}" + fi +} + +exec_polkit(){ +## Настрока polkit правил + rm -f ${ROOTFS}/etc/polkit-1/rules.d/kiosk-* + if [[ -n ${POLKIT[@]} ]]; then + for RULES in "${!POLKIT[@]}"; do + RULES_GROUP= + RULES_FILE="${ROOTFS}/etc/polkit-1/rules.d/kiosk-$(sed 's/\([A-z0-9]*.[A-z0-9]*.[A-z0-9]*\)\..*/\1/' <<< ${RULES}).rules" + RULES_RESULT=$(cut -d: -f1 <<< ${POLKIT[${RULES}]}) + for GROUP in $(grep ":" <<< ${POLKIT[${RULES}]} | cut -d: -f2 | tr ',' '\n'); do + RULES_GROUP+="&& subject.isInGroup(\"${GROUP}\") " + done + cat >> ${RULES_FILE} </dev/null || exit 0 +SOURCE=${ROOTFS}/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" -echo $SYSCONF | grep -q ^/ && SYSCONF=.$SYSCONF -SOURCE=${SYSCONF}/config; [ -f "${SOURCE}" ] && . ${SOURCE} 2>/dev/null +SYSCONF="${ROOTFS}/${SYSCONF}" +SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SERVICEAPPARMOR="apparmor.service" -if ! [ "$APPARMOR"=="yes" ] ;then - mkdir -p proc - mount -o rbind /proc proc - ISSYSTEMD=$(readlink -fq usr/bin/init | grep /lib/systemd/systemd) - if [ $ISSYSTEMD ] ;then - chroot . systemctl unmask $SERVICEAPPARMOR - chroot . systemctl enable $SERVICEAPPARMOR || chroot . chkconfig --add $SERVICEAPPARMOR - else - chroot . chkconfig --add $SERVICEAPPARMOR - fi - umount proc - -cat > ${ROOTFS}etc/xdg/autostart/apparmor-notify.desktop << EOF + if [[ ${APPARMOR} != yes ]]; then + mkdir -p proc + mount -o rbind /proc proc + if readlink -fq ${ROOTFS}/usr/bin/init | grep -q "lib/systemd/systemd$"; then + chroot . systemctl unmask ${SERVICEAPPARMOR} + chroot . systemctl enable ${SERVICEAPPARMOR} || chroot . chkconfig --add ${SERVICEAPPARMOR} + else + chroot . chkconfig --add ${SERVICEAPPARMOR} + fi + umount proc + + cat > ${ROOTFS}/etc/xdg/autostart/apparmor-notify.desktop << EOF [Desktop Entry] Type=Application Name=AppArmor Notify @@ -39,7 +42,6 @@ Exec=aa-notify -p -s 1 -w 60 -f /var/log/audit/audit.log StartupNotify=false NoDisplay=true EOF - -fi + fi diff --git a/ublinux/templates/ublinux-data.ini b/ublinux/templates/ublinux-data.ini index 75689af..d5ed979 100644 --- a/ublinux/templates/ublinux-data.ini +++ b/ublinux/templates/ublinux-data.ini @@ -74,10 +74,6 @@ NEEDEDUSERS='superadmin:1000:x:Администратор' # Помещать пользователя с ID 1000 в группу Администраторов whell #ADDADM=yes -## User for X autostarting -## Пользователь для автовхода (none отключает автовход, без параметра, либо пусто включает автовход superadmin) -AUTOLOGINUSER=none - ## Groups for users ## Группы, в которых будут состоять пользователи (default scanner,power,audio,lp,optical,storage,video,sambashare,vboxusers) #USERGROUPS=scanner,power,audio,lp,optical,storage,video,sambashare,vboxusers,libvirt @@ -87,7 +83,7 @@ AUTOLOGINUSER=none ## Для работы bluetooth SERVICESSTART+=bluetooth ## Для работы в WINDOWS сетях с DNS NETBIOS, включить NSSWITCHWINBIND=yes и добавить SERVICESSTART=nmb,winbind ## Для VMWareWorkstation: vmware-networks, vmware-usbarbitrator -## SERVICESSTART=tor,polipo,cups-lpd +## SERVICESSTART=tor,polipo,cups-lpd,pcscd SERVICESSTART=dbus-broker,NetworkManager,sshd,systemd-swap,systemd-timesyncd,cups,cockpit.socket,avahi-daemon,avahi-dnsconfd,veyon,smb,nmb,winbind,bluetooth ## You can disable some of standart services start @@ -102,12 +98,14 @@ HOSTNAME=ublinux-install ## You can specify your /etc/machine-id there. If MACHINEID=RANDOM then will be ## created random number. # In other case, it will be based on internal hardware list. -## Номер машины, который попадает в /etc/machine-id. В случае MACHINEID=RANDOM создастся -## случайный номер, иначе он сформируется в зависимости от аппаратной начинки материнской платы. +## Номер машины, который попадает в /etc/machine-id. +## =hardware | =hw - сформируется в зависимости от аппаратной начинки материнской платы и MAC +## =random | =rnd - создастся случайный номер ## Можно привязать к носителю, указав свой номер (в формате вывода утилиты md5sum) ## к примеру, echo mynumber | md5sum #MACHINEID=91ec1cd57b484d479893f012b26f89ea -MACHINEID=RANDOM +#MACHINEID=hardware +MACHINEID=hardware ## Включить Apparmor, по умолчанию отключен #APPARMOR=yes @@ -173,7 +171,7 @@ DEPMOD=yes #VARTMPFS=no ## Перечень программ для автозагрузки под пользователем -#AUTOEXEC="kde:yakuake;gnome:guake;lxde:guake;xbindkeys" +#AUTOEXEC="kde:yakuake;gnome:guake;lxde:guake;xbindkeys;xfce:plank" ## Включение pulseaudio (yes, no) #PULSEAUDIO=yes @@ -184,9 +182,10 @@ DEPMOD=yes #ALSADEVICE=7 ## Автообновление системы -## auto - автоматически -## ask - спросить у пользователя (по умолчанию) -## never - не обновлять автоматически +## UBLINUXUPDATE= +## =auto # автоматически +## =ask # спросить у пользователя (по умолчанию) +## =never # не обновлять автоматически #UBLINUXUPDATE=auto ## Профиль конфигурации PAM авторизации, authselect. Профили /usr/share/authselect/vendor @@ -211,8 +210,10 @@ DEPMOD=yes ################################################################################ ## Настройка сохранений [/etc/ublinux/save] -##Сохранять кеши при перезагрузки/выключении, ускоряет загрузку системы -#SAVE_ALL_CACHE=rootcopy +## Сохранять кеши при перезагрузки/выключении, ускоряет загрузку системы +## SAVE_ALL_CACHE=rootcopy + +## TODO #SELECT_SAVE_ROOTCOPY_WHITELIST="" #SELECT_SAVE_ROOTCOPY_BLACKLIST="" #SELECT_SAVE_MODULE_WHITELIST="" @@ -312,9 +313,12 @@ DEPMOD=yes IPV6=no ## Серверы времени -## NTPSERVERS=dhcp # Выбрать сервер времени предложенный DHCP -## NTPSERVERS=default # Выбрать сервера времени ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org -## NTPSERVERS=ntp1.vniiftri.ru,ru.pool.ntp.org +## NTPSERVERS=dhcp|default|stop|$VALUE +## =dhcp # Выбрать сервер времени предложенный DHCP +## =default # Выбрать сервера времени по умолчанияю: ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org +## =stop # Отключить NTP синхронизацию принудительно +## =ntp1.vniiftri.ru,ru.pool.ntp.org # VALUE=Перечень серверов, через ',' или ';' +## не задано # Никаких действий не предпринимается NTPSERVERS=dhcp ## Дбавить порядок поиска DNS: avahi и winbind (default no) @@ -353,8 +357,17 @@ NSSWITCHWINBIND=yes #MACCHANGEROPTIONS='--mac=XX:XX:XX:XX:XX:XX' ################################################################################ -## Настройка режима киоска -[/etc/ublinux/kiosk] +## Настройка безопасности, ограницений +[/etc/ublinux/security] +## Отключить виртуальные терминалы и запретить переключение на них из X11 +## ACCESS_DENIED_VTX11=yes|no*|enable|disable +## ACCESS_DENIED_VTX11=yes + +## TODO https://linux.die.net/man/5/access.conf +## Блокировка доступа к терминалу +## ACCESS_GRANTED_VT= +## ACCESS_DENIED_VT= + ## Управление разрешениями действий polkit, можно разрешать для групы пользователей ## POLKIT[id_object]=result:group_1,group_n" ## Посмотреть все доступные объекты polkit: pkaction | grep udisks @@ -364,14 +377,42 @@ NSSWITCHWINBIND=yes ## org.freedesktop.udisks2.filesystem-mount-system - Mount a filesystem on a system device | Монтировать файловую систему на системном устройстве ## org.freedesktop.udisks2.filesystem-mount-other-seat - Mount a device attached to another seat | Монтировать файловую систему с устройства, подключенного в другое место ## org.freedesktop.udisks2.filesystem-unmount-others - Unmount a device mounted by another user | Демонтировать устройство, смонтированное другим пользователем +## org.freedesktop.machine1.host-login +## org.freedesktop.DisplayManager.AccountsService.ModifyAny +## org.freedesktop.login1.suspend +## org.freedesktop.login1.suspend-multiple-sessions +## org.freedesktop.login1.suspend-ignore-inhibit +## org.freedesktop.login1.hibernate +## org.freedesktop.login1.hibernate-multiple-sessions +## org.freedesktop.login1.hibernate-ignore-inhibit +## org.freedesktop.login1.reboot +## org.freedesktop.login1.reboot-multiple-sessions +## org.freedesktop.login1.reboot-ignore-inhibit +## org.freedesktop.login1.set-reboot-parameter +## org.freedesktop.login1.set-reboot-to-boot-loader-entry +## org.freedesktop.login1.set-reboot-to-boot-loader-menu +## org.freedesktop.login1.set-reboot-to-firmware-setup +## org.freedesktop.login1.manage +## org.freedesktop.login1.lock-sessions +## org.freedesktop.login1.chvt +## org.freedesktop.upower.hibernate +## org.freedesktop.upower.suspend +## org.xfce.power.xfce4-pm-helper +## org.xfce.session.xfsm-shutdown-helper ## org.manjaro.pamac. - GUI Pamac install package | ГУЙ pamac установка и обновление пакетов ## org.opensuse.cupspkhelper.mechanism.all-edit - Printer settings | Настройки принтера ## org.freedesktop.NetworkManager. - NetworkManager settings | Настройки NetworkManager +## ## POLKIT[org.freedesktop.udisks2.]=yes:storage ## POLKIT[org.manjaro.pamac.]=yes:wheel +## POLKIT[ru.ublinux.pkexec.ubl-settings-datetime.exec]=yes:users +## POLKIT[org.manjaro.pamac.]=yes:users +################################################################################ +## Настройка режима киоска +[/etc/ublinux/kiosk] ## Режим киоска XFCE4 -## =all - разрешить всем | =none - запретить | =%whell,%users - разрешить группам | =superadmin,user-1 - разрешить пользователям | =%wheel,user-1 - разрешить пользователю и группе +## =ALL - разрешить всем | =NONE - запретить | =%whell,%users - разрешить группам | =superadmin,user-1 - разрешить пользователям | =%wheel,user-1 - разрешить пользователю и группе #XFCE4_KIOSK[xfce4-panel:CustomizePanel]=%wheel #XFCE4_KIOSK[xfce4-session:SaveSession]=NONE #XFCE4_KIOSK[xfce4-session:CustomizeSplash]=NONE @@ -391,7 +432,7 @@ NSSWITCHWINBIND=yes ## Назначить настройки XFCE4 через xfconf-query ## XFCE4_XFCONF[$users,%$groups:$channel:$property]=$type:$value -## $users =superadmin,user-1 - разрешить пользователям. +## $users =superadmin,user-1 - разрешить пользователям ## %$groups =%whell,%users - разрешить группам | =%wheel,user-1 - разрешить пользователю и группе ## $channel $property $type $value - значения xfconf-query --channel $channel --property $property --create --type $type --set $set ## #type =reset - выполняет xfconf-query --channel $channel --property $property --reset --recursive @@ -404,7 +445,7 @@ NSSWITCHWINBIND=yes ## Скрыть кнопку LOGOUT в XFCE4 диалог выключения питания ## XFCE4_DIALOGPOWER_LOGOUT[$users,%$groups]=$value -## $users =superadmin,user-1 - разрешить пользователям. +## $users =superadmin,user-1 - разрешить пользователям ## %$groups =%whell,%users - разрешить группам | =%wheel,user-1 - разрешить пользователю и группе ## $value =hide - скрыть кнопку ## $value =show - показать кнопку @@ -436,6 +477,13 @@ NSSWITCHWINBIND=yes ################################################################################ [/etc/ublinux/desktop] +## User for X autostarting +## Пользователь для автовхода, значения: +## =user_name - включает автовход указанного пользователя +## =yes - включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin +## если задан параметр ${DISPLAYMANAGER_DEFAULTUSER}, то автовход от пользователя переменной +## AUTOLOGINUSER=yes + # Графическая среда по умолчанию может быть изменена # LXDE+slim - быстрая среда для слабых компьютеров # GNOME+GDM - альтерантивная среда для средних и мощных машин @@ -533,26 +581,24 @@ NSSWITCHWINBIND=yes ################################################################################ [/etc/ublinux/clock] -#UTC=true -# Установка часового пояса -# Time zone for UTC+3 MSK-1 -#ZONE=Europe/Kaliningrad -# Time zone for UTC+4 MSK -#ZONE=Europe/Moscow -# Time zone for UTC+6 MSK+2 -#ZONE=Asia/Yekaterinburg -# Time zone for UTC+7 MSK+3 -#ZONE=Asia/Omsk -# Time zone for UTC+8 MSK+4 -#ZONE=Asia/Krasnoyarsk -# Time zone for UTC+9 MSK+5 -#ZONE=Asia/Irkutsk -# Time zone for UTC+10 MSK+6 -#ZONE=Asia/Yakutsk -# Time zone for UTC+11 MSK+7 -#ZONE=Asia/Vladivostok -# Time zone for UTC+12 MSK+8 -#ZONE=Asia/Magadan +## Синхронизировать аппаратное время, при выключении и при включении +## HWCLOCK_SYNC=*utc|localtime +## * =utc # Синхронизировать аппаратное время по UTC +## =localtime # Синхронизировать аппаратное время по локальному времени +#HWCLOCK_SYNC=localtime + +## Установка часового пояса +#ZONE=Europe/Kaliningrad # Time zone for UTC+2 MSK-1 +#ZONE=Europe/Moscow # Time zone for UTC+3 MSK +#ZONE=Europe/Samara # Time zone for UTC+4 MSK+1 +#ZONE=Asia/Yekaterinburg # Time zone for UTC+5 MSK+2 +#ZONE=Asia/Omsk # Time zone for UTC+6 MSK+3 +#ZONE=Asia/Krasnoyarsk # Time zone for UTC+7 MSK+4 +#ZONE=Asia/Irkutsk # Time zone for UTC+8 MSK+5 +#ZONE=Asia/Chita # Time zone for UTC+9 MSK+6 +#ZONE=Asia/Yakutsk # Time zone for UTC+10 MSK+7 +#ZONE=Asia/Vladivostok # Time zone for UTC+11 MSK+8 +#ZONE=Asia/Magadan # Time zone for UTC+12 MSK+9 ################################################################################ [/etc/ublinux/locale]