mirror of
https://github.com/basecamp/omarchy.git
synced 2025-07-27 12:19:24 +00:00
Better setup flow and add --remove option
This commit is contained in:
@ -1,28 +1,21 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ "--remove" == "$1" ]]; then
|
||||||
|
sudo rm -rf /etc/fido2
|
||||||
|
sudo sed -i '\|^auth[[:space:]]\+sufficient[[:space:]]\+pam_u2f\.so[[:space:]]\+cue[[:space:]]\+authfile=/etc/fido2/fido2$|d' /etc/pam.d/sudo
|
||||||
|
echo -e "\e[32mYou've successfully removed the fido2 device setup.\e[0m"
|
||||||
|
else
|
||||||
yay -S --noconfirm --needed libfido2 pam-u2f
|
yay -S --noconfirm --needed libfido2 pam-u2f
|
||||||
|
|
||||||
# Check if the user doesn't want sudo
|
|
||||||
while [[ $# -gt 0 ]]; do
|
|
||||||
case $1 in
|
|
||||||
--no-sudo) exit 0 ;;
|
|
||||||
*)
|
|
||||||
echo "Unknown option: $1 \n --no-sudo is the only option"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
tokens=$(fido2-token -L)
|
tokens=$(fido2-token -L)
|
||||||
|
|
||||||
if [ -z "$tokens" ]; then
|
if [ -z "$tokens" ]; then
|
||||||
echo -e "\e[31m\nNo fido2 device detected. Plug it in, you may have to unlock it as well\e[0m"
|
echo -e "\e[31m\nNo fido2 device detected. Plug it in, you may have to unlock it as well\e[0m"
|
||||||
else
|
else
|
||||||
|
|
||||||
# Create the pamu2fcfg file
|
# Create the pamu2fcfg file
|
||||||
if [ ! -f /etc/fido2/fido2 ]; then
|
if [ ! -f /etc/fido2/fido2 ]; then
|
||||||
sudo mkdir -p /etc/fido2
|
sudo mkdir -p /etc/fido2
|
||||||
echo -e "\e[32m\nLet's setup your device, confirm on the device now\n\e[0m"
|
echo -e "\e[32m\nLet's setup your device by confirming on the device now.\e[0m"
|
||||||
pamu2fcfg >/tmp/fido2 # This needs to run as the user
|
pamu2fcfg >/tmp/fido2 # This needs to run as the user
|
||||||
sudo mv /tmp/fido2 /etc/fido2/fido2
|
sudo mv /tmp/fido2 /etc/fido2/fido2
|
||||||
fi
|
fi
|
||||||
@ -31,4 +24,9 @@ else
|
|||||||
if ! grep -q pam_u2f.so /etc/pam.d/sudo; then
|
if ! grep -q pam_u2f.so /etc/pam.d/sudo; then
|
||||||
sudo sed -i '1i auth sufficient pam_u2f.so cue authfile=/etc/fido2/fido2' /etc/pam.d/sudo
|
sudo sed -i '1i auth sufficient pam_u2f.so cue authfile=/etc/fido2/fido2' /etc/pam.d/sudo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! sudo echo -e "\e[32m\nPerfect! Now you can use your fido2 device for sudo.\e[0m"; then
|
||||||
|
echo -e "\e[31m\nSomething went wrong. Maybe try again?\e[0m"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
Reference in New Issue
Block a user