156 lines
4.5 KiB
Bash
156 lines
4.5 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
|
||
|
key_status1=$(env LANG=C pacman-key -f valeria@fadeeva.me 2>&1 | grep "unknown")
|
||
|
|
||
|
key_status2=$(env LANG=C pacman-key -f erik.dubois@gmail.com 2>&1 | grep "unknown")
|
||
|
|
||
|
if [[ -z $key_status1 ]] && [[ -z $key_status2 ]]; then
|
||
|
exit
|
||
|
fi
|
||
|
|
||
|
if [[ "$UID" != 0 ]]; then
|
||
|
counter=0
|
||
|
|
||
|
for group in $(groups)
|
||
|
do
|
||
|
if [ "${group}" == "wheel" ] || [ "${group}" == "root" ]; then
|
||
|
counter=$(( counter + 1 ))
|
||
|
echo "The user '${USER}' is a member of the group ${group}"
|
||
|
if [ ! -x "$0" ]; then
|
||
|
chmod +x "$0"
|
||
|
fi
|
||
|
sudo /bin/sh -c "$0"
|
||
|
exit
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
if [[ $counter -eq 0 ]]; then
|
||
|
echo "The user '${USER}' does not have permission to run this program."
|
||
|
echo "The user '${USER}' is not a member of the 'wheel' or 'root' group."
|
||
|
echo ""
|
||
|
echo -e "Add the user '${USER}' to the 'wheel' group - COPY AND PASTE in new konsole:\n
|
||
|
su -c \"usermod -a -G wheel ${USER}\"; qdbus org.kde.LogoutPrompt /LogoutPrompt promptLogout; exit"
|
||
|
echo ""
|
||
|
echo "Or otherwise escalate privileges and run the program \"${HOME}/.config/autostart/$(basename ${0}).desktop\" again."
|
||
|
echo ""
|
||
|
echo -e "Help: https://wiki.archlinux.org/title/Sudo \nhttps://wiki.archlinux.org/title/Users_and_groups"
|
||
|
echo ""
|
||
|
echo "The program path is the ${HOME}/.local/bin/$(basename ${0})"
|
||
|
echo "The shortcut path is the ${HOME}/.config/autostart/$(basename ${0}).desktop"
|
||
|
echo ""
|
||
|
echo "Waiting new konsole windows..."
|
||
|
|
||
|
sleep 5
|
||
|
|
||
|
/usr/bin/konsole
|
||
|
exit
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
# if [[ "$UID" != 0 ]]; then
|
||
|
# echo "USER NOT ROOT"
|
||
|
# sudo "$0"
|
||
|
# exit
|
||
|
# else
|
||
|
# echo "USER IS ROOT"
|
||
|
# fi
|
||
|
|
||
|
grep_text=$(ss -nlp | grep 9050)
|
||
|
if [[ "$?" == 0 ]]; then
|
||
|
export http_proxy="socks5://127.0.0.1:9050"
|
||
|
export https_proxy="socks5://127.0.0.1:9050"
|
||
|
export ftp_proxy="socks5://127.0.0.1:9050"
|
||
|
fi
|
||
|
|
||
|
ping -c 1 1.1.1.1 > /dev/null
|
||
|
have_internet="$?"
|
||
|
|
||
|
cd "/root"
|
||
|
|
||
|
rm -rf /var/lib/pacman/sync/*
|
||
|
rm -rf /etc/pacman.d/gnupg/*
|
||
|
|
||
|
mkdir -p /root/.gnupg 2>/dev/null
|
||
|
chmod 700 /root/.gnupg
|
||
|
|
||
|
haveged -w 1024
|
||
|
pacman-key --init
|
||
|
pkill haveged
|
||
|
|
||
|
pacman-key --add /usr/share/pacman/keyrings/melawy-linux.gpg
|
||
|
pacman-key --lsign-key BC8B600E8DDA1F4CB77B10D2BA803A261A5EE6B8
|
||
|
pacman-key --lsign-key B175815513971572FE7B1557CEC07AC8FF64DA4B
|
||
|
|
||
|
# if [ "$have_internet" -eq 0 ]; then
|
||
|
# pacman-key --keyserver hkps://keys.openpgp.org --recv-keys BC8B600E8DDA1F4CB77B10D2BA803A261A5EE6B8
|
||
|
# pacman-key --keyserver hkps://keyserver.ubuntu.com --recv-keys BC8B600E8DDA1F4CB77B10D2BA803A261A5EE6B8
|
||
|
# pacman-key --lsign-key BC8B600E8DDA1F4CB77B10D2BA803A261A5EE6B8
|
||
|
#
|
||
|
# pacman-key --keyserver hkps://keys.openpgp.org --recv-keys B175815513971572FE7B1557CEC07AC8FF64DA4B
|
||
|
# pacman-key --keyserver hkps://keyserver.ubuntu.com --recv-keys B175815513971572FE7B1557CEC07AC8FF64DA4B
|
||
|
# pacman-key --lsign-key B175815513971572FE7B1557CEC07AC8FF64DA4B
|
||
|
# fi
|
||
|
|
||
|
pacman-key --lsign-key melawy-linux
|
||
|
|
||
|
pacman-key --add /usr/share/pacman/keyrings/manjaro.gpg
|
||
|
pacman-key --lsign-key manjaro
|
||
|
pacman-key --add /usr/share/pacman/keyrings/cachyos.gpg
|
||
|
pacman-key --lsign-key cachyos
|
||
|
pacman-key --add /usr/share/pacman/keyrings/arcolinux.gpg
|
||
|
pacman-key --lsign-key arcolinux
|
||
|
pacman-key --add /usr/share/pacman/keyrings/chaotic.gpg
|
||
|
pacman-key --lsign-key chaotic
|
||
|
pacman-key --add /usr/share/pacman/keyrings/endeavouros.gpg
|
||
|
pacman-key --lsign-key endeavouros
|
||
|
|
||
|
pacman-key --populate
|
||
|
|
||
|
echo "
|
||
|
keyserver hkp://keyserver.ubuntu.com:80" | sudo tee --append /etc/pacman.d/gnupg/gpg.conf
|
||
|
|
||
|
pacman-key --updatedb
|
||
|
|
||
|
# if [ "$have_internet" -eq 0 ]; then
|
||
|
# pacman -Sy
|
||
|
# fi
|
||
|
|
||
|
title="Successed!"
|
||
|
msg="$(date '+%Y.%m.%d %H:%M:%S')"
|
||
|
|
||
|
users=$(/usr/bin/users | sed 's| |\n|g' | sort | uniq)
|
||
|
for user in $users
|
||
|
do
|
||
|
userid=$(/usr/bin/id -u "$user")
|
||
|
|
||
|
if [ -S "/run/user/$userid/bus" ]; then
|
||
|
cmd=(
|
||
|
DISPLAY=:0
|
||
|
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/"$userid"/bus
|
||
|
/usr/bin/notify-send
|
||
|
--icon=info
|
||
|
--urgency=low
|
||
|
-t 5000
|
||
|
-a "'Keys sign'"
|
||
|
"'$title'"
|
||
|
"'$msg'"
|
||
|
)
|
||
|
|
||
|
/usr/bin/su "$user" -c "${cmd[*]}"
|
||
|
|
||
|
if [ "$user" != "root" ] && [ "$user" != "liveuser" ]; then
|
||
|
if [ -f "/home/$user/.config/autostart/key-sign.sh.desktop" ]; then
|
||
|
rm /home/"$user"/.config/autostart/key-sign.sh.desktop
|
||
|
# rm /home/"$user"/.local/bin/key-sign.sh
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
echo "Finish!!!"
|
||
|
|
||
|
echo "This window may close!"
|
||
|
|
||
|
sleep 5
|