Fix NTPSERVERS

master v2.104
Dmitry Razumov 10 months ago
parent a82f742f49
commit 6e314c3a60
Signed by: asmeron
GPG Key ID: 50BC1DB583B79706

@ -33,6 +33,8 @@ SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
multi-user.target.wants/ptp4l.service ptp4l
multi-user.target.wants/phc2sys.service phc2sys"
CONFIG_TIMESYNCD="${ROOTFS}/etc/systemd/timesyncd.conf.d/ubconfig.conf"
exec_ntp_servers_set(){
restart_systemd_ntp(){
if [[ -n ${ROOTFS} ]]; then
@ -45,33 +47,32 @@ exec_ntp_servers_set(){
}
ISSYSTEMD=$(readlink -fq ${ROOTFS}/usr/bin/init | grep "lib/systemd/systemd$")
if [[ ${NTPSERVERS,,} == "dhcp" ]]; then
# Вызывая из NetworkManager скрипта, переменна ${NTPSERVERS} перезаписана на сервера NTP из DHCP
# Вызывая из NetworkManager скрипта, переменную ${NTPSERVERS} перезаписать на сервера NTP из DHCP
[[ -n $1 ]] && local NTPSERVERS="$1"
fi
if [[ ${NTPSERVERS,,} == @(stop|no|disable) ]]; then
if [[ ${NTPSERVERS,,} == "disable" ]]; then
# Не настраивать сервер времени
true
elif [[ ${NTPSERVERS,,} == "stop" ]]; then
# Остановить и отключить сервисы синхронизации времени
exec_ntp_servers_stop
elif [[ ${NTPSERVERS,,} == "dhcp" ]]; then
# Активная systemd и выбран сервис NTP_SYSTEMSERVICE=systemd-timesyncd.service
if [[ -n ${ISSYSTEMD} && ${NTP_SYSTEMSERVICE} == "systemd-timesyncd.service" && -f ${ROOTFS}/usr/lib/systemd/system/systemd-timesyncd.service ]]; then
restart_systemd_ntp
fi
[[ -n ${ISSYSTEMD} ]] && restart_systemd_ntp
elif [[ -n ${NTPSERVERS} ]]; then
[[ ${NTPSERVERS,,} == "default" ]] && NTPSERVERS=${NTPSERVERS_DEFAULT}
[[ ${NTPSERVERS,,} == "ntp-ru" ]] && NTPSERVERS=${NTPSERVERS_RU}
# Активная systemd и выбран сервис NTP_SYSTEMSERVICE=systemd-timesyncd.service
if [[ -n ${ISSYSTEMD} && ${NTP_SYSTEMSERVICE} == "systemd-timesyncd.service" && -f ${ROOTFS}/usr/lib/systemd/system/systemd-timesyncd.service ]]; then
if [[ -n ${ISSYSTEMD} && ${NTP_SYSTEMSERVICE} == "systemd-timesyncd.service" && -f ${ROOTFS}/usr/lib/systemd/system/${NTP_SYSTEMSERVICE} ]]; then
NTPSERVERS=$(tr ',;' ' ' <<< ${NTPSERVERS})
# CONFIG_TIMESYNCD="${ROOTFS}/etc/systemd/timesyncd.conf.d/ublinux${ETH_INTERFACE}.conf"
CONFIG_TIMESYNCD="${ROOTFS}/etc/systemd/timesyncd.conf.d/ubconfig.conf"
[[ -d ${CONFIG_TIMESYNCD%/*} ]] || mkdir -p ${CONFIG_TIMESYNCD%/*}
rm -f ${CONFIG_TIMESYNCD%/*}/ubconfig*.conf
find ${CONFIG_TIMESYNCD%/*}/ -name "ubconfig*.conf" -delete 2>/dev/null
cat <<-EOF > "${CONFIG_TIMESYNCD}"
[Time]
NTP=${NTPSERVERS}
FallbackNTP=${NTPSERVERS_FALLBACK}
EOF
restart_systemd_ntp
fi
[[ -n ${ISSYSTEMD} ]] && restart_systemd_ntp
fi
}
exec_ntp_servers_stop(){
@ -80,21 +81,25 @@ exec_ntp_servers_stop(){
while IFS=' ' read ITEM_NTP_SERVICE ITEM_NTP_PROCESS; do
[[ -z ${ITEM_NTP_SERVICE} || -z ${ITEM_NTP_PROCESS} ]] && continue
if [[ -n ${ISSYSTEMD} && -n ${ROOTFS} ]]; then
${CMD_CHROOT} /usr/bin/systemctl --quiet disable ${ITEM_NTP_SERVICE##*/} &>/dev/null
${CMD_CHROOT} /usr/bin/systemctl --quiet disable ${ITEM_NTP_SERVICE##*/} &>/dev/null
elif [[ -n ${ISSYSTEMD} ]]; then
/usr/bin/systemctl --quiet disable --now ${ITEM_NTP_SERVICE##*/} &>/dev/null || pkill -f ${ITEM_NTP_PROCESS}
/usr/bin/systemctl --quiet is-enabled ${ITEM_NTP_SERVICE##*/} && /usr/bin/systemctl --quiet disable ${ITEM_NTP_SERVICE##*/} &>/dev/null
/usr/bin/systemctl --quiet is-active ${ITEM_NTP_SERVICE##*/} && { /usr/bin/systemctl --quiet stop ${ITEM_NTP_SERVICE##*/} &>/dev/null || pkill -f ${ITEM_NTP_PROCESS}; }
[[ ${NTP_SYSTEMSERVICE} == "systemd-timesyncd.service" ]] && find ${CONFIG_TIMESYNCD%/*}/ -name "ubconfig*.conf" -delete 2>/dev/null
fi
done < <(tr -d '\t' <<< ${NTP_SERVICES_PROCESS})
true # Для выполнения из ubconfig со статусом ОК
}
################
##### MAIN #####
################
if [[ -z $@ || $1 == @("set="|"set+="|"set++=") ]]; then
if [[ -z $@ || $1 == @("set"|"set="|"set+="|"set++=") ]]; then
shift
exec_ntp_servers_set $@
elif [[ $1 == @("set-="|"set--="|"remove") ]]; then
shift
exec_ntp_servers_stop $@
exec_ntp_servers_set $@
fi

@ -125,9 +125,20 @@ VERSION=
#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=<profile>|disable|no|off
## <profile> # Профиль
## *local # Local users only for local 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
## disable|no|off # Отключить выбор профиля
## AUTHPAM=local
## AUTHPAM=disable
#AUTHPAM=sssd
## Настройки профиля конфигурации PAM авторизации, authselect. Профили /usr/share/authselect/default
## AUTHPAM[<profile>]=<feature>|disable|no|off
## Функции для профиля конфигурации PAM авторизации, authselect. Профили /usr/share/authselect/default
## AUTHPAM[<profile>]=<feature>
## <profile> # Профиль
## *local # Local users only for local installations, default
## nis # Enable NIS for system authentication
@ -138,23 +149,10 @@ VERSION=
## 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[local]=with-faillock,with-time,with-systemd-homed
#AUTHPAM[sssd]=with-faillock,with-time,with-systemd-homed,with-mkhomedir-simple
## Тип используемого профиля конфигурации PAM авторизации, authselect. Профили /usr/share/authselect/default
## AUTHPAM=<profile>|disable|no|off
## <profile> # Профиль
## *local # Local users only for local 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
## AUTHPAM=local
## AUTHPAM=disable
#AUTHPAM=sssd
## Алгоритм сжатия модулей по умолчанию
#MKSQFS_OPTS="-b 512K -comp xz -Xbcj x86"
@ -410,8 +408,8 @@ VERSION=
## disable|no|none # Выключить публикацию
## listing # Включить WEB обозреватель файлов. Не обязательный
## <port> # Порт по которому доступен репозиторий. По умолчанию: 80. Не обязательный
## <auth_name> # Параметры авторизации, имя пользователя. Не обязательный
## <auth_pass> # Параметры авторизации, открытый пароль или тип хеша. Не обязательный
## <auth_name> # Параметры авторизации, имя пользователя. Не обязательный.
## <auth_pass> # Параметры авторизации, открытый пароль или тип хеша. Не обязательный. Обязателен, если задан <auth_name>
## <password> # Не зашифрованный пароль
## sha256 # Использовать зашифрованный пароль SHA256, применять только совместно с <auth_hash>
## sha512 # Использовать зашифрованный пароль SHA512, применять только совместно с <auth_hash>
@ -1055,13 +1053,13 @@ VERSION=
#IPV6=no
## Серверы времени
## NTPSERVERS=*dhcp|default|ntp-ru|stop|disable|<servers>
## NTPSERVERS=*dhcp|default|ntp-ru|<servers>|disable|stop
## *dhcp # Выбрать сервер времени предложенный DHCP. По умолчанию
## default # Выбрать сервера времени по умолчанию: 0, 1, 2 и 3.pool.ntp.org указывают на случайно выбранные из пула сервера. Выбираются заново каждый час
## ntp-ru # Выбрать сервера времени: ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org
## stop|no|disable # Отключить NTP синхронизацию принудительно
## <servers> # Список серверов, через ',' или ';', например =ntp1.vniiftri.ru,ru.pool.ntp.org
## не задано # Не настраивать автоматически
## <servers> # Список серверов через ',' или ';' Например =ntp1.vniiftri.ru,ru.pool.ntp.org
## disable # Не настраивать автоматически
## stop # Отключить NTP синхронизацию принудительно
#NTPSERVERS=dhcp
## Отключено

Loading…
Cancel
Save