|
|
#!/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
|
|
|
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
|
|
|
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
|
|
|
|
|
|
debug_mode "$0" "$@"
|
|
|
|
|
|
# mount ublinux-server
|
|
|
|
|
|
## Переделать authselect и связать с опциями домена
|
|
|
# Name Service Switch Win Avahi nsswitch.conf
|
|
|
# if [[ ${NSSWITCHAVAHI,,} == "yes" ]]; then
|
|
|
# file_nss=$(grep hosts /etc/nsswitch.conf)
|
|
|
# grep -q "mdns4_minimal" <<< "${file_nss}" || sed "/^hosts: /s/ resolve/ mdns4_minimal [NOTFOUND=return] resolve/" -i /etc/nsswitch.conf
|
|
|
# grep -q "mdns4" <<< "${file_nss}" || sed "/^hosts: /s/ dns/ dns mdns4/" -i /etc/nsswitch.conf
|
|
|
# fi
|
|
|
# if [[ ${NSSWITCHWINS,,} == "yes" ]]; then
|
|
|
# [[ -z ${file_nss} ]] && file_nss=$(grep hosts /etc/nsswitch.conf)
|
|
|
# grep -q "wins" <<< "${file_nss}" || sed "/^hosts:/s/ dns/ dns wins/" -i /etc/nsswitch.conf
|
|
|
# fi
|
|
|
|
|
|
# Network configuration
|
|
|
while read CONNECTION; do
|
|
|
CON_DEVICE=${CONNECTION%%:*}; CONNECTION=${CONNECTION#*:}
|
|
|
CON_UUID=${CONNECTION%%:*}; CONNECTION=${CONNECTION#*:}
|
|
|
CON_NAME=${CONNECTION%%:*}
|
|
|
CON_TYPE=${CONNECTION#*:}
|
|
|
for NETWORK_ITEM in "${!NETWORK[@]}"; do
|
|
|
unset NETWORK_DEVICE NETWORK_CONNECTION
|
|
|
NETWORK_NAME=${NETWORK_ITEM%%:*}
|
|
|
NETWORK_TYPE=${NETWORK_ITEM#*:}
|
|
|
if [[ ${NETWORK_TYPE,,} == "device" || ${NETWORK_TYPE,,} == "dev" ]]; then
|
|
|
[[ ${NETWORK_NAME,,} == ${CON_DEVICE,,} ]] && nmcli device modify "${CON_DEVICE}" ${NETWORK[${NETWORK_ITEM}]}
|
|
|
else
|
|
|
[[ ${NETWORK_NAME,,} == "all" || ${NETWORK_NAME,,} == "any" \
|
|
|
|| ${NETWORK_NAME,,} == "connection" || ${NETWORK_NAME,,} == "con" \
|
|
|
|| ${NETWORK_NAME,,} == ${CON_DEVICE,,} || ${NETWORK_NAME,,} == ${CON_UUID,,} \
|
|
|
|| ${NETWORK_NAME,,} == ${CON_NAME,,} || ${NETWORK_NAME,,} == ${CON_TYPE,,} ]] \
|
|
|
&& nmcli connection modify "${CON_UUID}" ${NETWORK[${NETWORK_ITEM}]}
|
|
|
systemctl restart NetworkManager.service
|
|
|
fi
|
|
|
done
|
|
|
done < <(nmcli -g device,uuid,name,type connection show)
|