You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.8 KiB
52 lines
1.8 KiB
#!/usr/bin/bash
|
|
#
|
|
# Author: Dmitry Razumov <asmeron@ublinux.com>
|
|
# Copyright (c) 2021-2025 UBLinux <support@ublinux.com>
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
#
|
|
# Initial script for Linux UBLinux
|
|
# This script are launching before starting init from initrd script
|
|
# Current dir allways must be set to root (/)
|
|
# All system path must be relative, except initrd dirs
|
|
|
|
ENABLED=yes
|
|
[[ ${ENABLED} == "yes" ]] || { return 0 2>/dev/null && return 0 || exit 0; }
|
|
DEBUGMODE=no
|
|
|
|
PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
|
|
|
|
[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; }
|
|
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
|
|
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -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}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
|
|
|
|
SERVICEAPPARMOR="apparmor.service"
|
|
|
|
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
|
|
${CMD_CHROOT} /usr/bin/systemctl --quiet unmask ${SERVICEAPPARMOR}
|
|
${CMD_CHROOT} /usr/bin/systemctl --quiet enable ${SERVICEAPPARMOR} || ${CMD_CHROOT} /usr/bin/chkconfig --add ${SERVICEAPPARMOR}
|
|
else
|
|
${CMD_CHROOT} /usr/bin/chkconfig --add ${SERVICEAPPARMOR}
|
|
fi
|
|
umount proc
|
|
|
|
cat > ${ROOTFS}/etc/xdg/autostart/apparmor-notify.desktop << EOF
|
|
[Desktop Entry]
|
|
Type=Application
|
|
Name=AppArmor Notify
|
|
Comment=Receive on screen notifications of AppArmor denials
|
|
TryExec=aa-notify
|
|
Exec=aa-notify -p -s 1 -w 60 -f /var/log/audit/audit.log
|
|
StartupNotify=false
|
|
NoDisplay=true
|
|
EOF
|
|
fi
|