#!/usr/bin/env bash ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 DEBUGMODE=no . /usr/lib/ublinux/functions . /usr/lib/ublinux/default debug_mode "$0" "$@" SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null # Проверка файлов на ошибки /etc/passwd /etc/shadow /etc/group /etc/gshadow exec_check_user_group(){ local CHECK_MODE=$@ [[ -z ${CHECK_MODE} ]] && CHECK_MODE="user,group" if [[ ${CHECK_MODE} =~ "user" ]]; then # Проверка файлов /etc/passwd /etc/shadow if [[ -x /usr/bin/pwck ]]; then # Сортировать файл passwd и shadow /usr/bin/pwck -qs # Вывести только предупреждение, если файл passwd или shadow повреждён # /usr/bin/pwck -r # Вывести предупреждение и исправить, если файл passwd или shadow повреждён yes | /usr/bin/pwck -q fi fi if [[ ${CHECK_MODE} =~ "group" ]]; then # Проверка файлов /etc/group /etc/gshadow if [[ -x /usr/bin/grpck ]]; then # Сортировать файл group и gshadow /usr/bin/grpck -qs # Вывести предупреждение, если файл group или gshadow повреждён # /usr/bin/grpck -r # Вывести предупреждение и исправить, если файл group или gshadow повреждён yes | /usr/bin/grpck -q fi fi } ################ ##### MAIN ##### ################ # Если файл подключен как ресурс с функциями, то выйти return 0 2>/dev/null && return 0 #rm -f "${FILE_ROOT_USERS}" if [[ -z $@ ]]; then while read -r FUNCTION; do $"${FUNCTION##* }" done < <(declare -F | grep "declare -f exec_") else FUNCTION= while [[ $# -gt 0 ]]; do [[ -z ${1} ]] || { declare -f "${1}" &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1//\'/}'"; } shift done eval ${FUNCTION#*; } fi