mirror of
https://github.com/robinrosenberger/realmd-arch-helper.git
synced 2025-06-10 05:29:59 -05:00
57 lines
2.0 KiB
Bash
57 lines
2.0 KiB
Bash
#!/bin/bash
|
|
case $1 in
|
|
--patch-config)
|
|
unset patched
|
|
grep realmd-arch-helper.sh /usr/lib/realmd/realmd-distro.conf > /dev/null && patched=1
|
|
[ $patched ] && echo Realmd-config already patched && exit 0
|
|
cp $0 /usr/local/sbin/
|
|
sed -i '/commands/a sssd-enable-logins = /usr/local/sbin/realmd-arch-helper.sh --enable-pam-nss' /usr/lib/realmd/realmd-distro.conf
|
|
sed -i '/commands/a sssd-disable-logins = /usr/local/sbin/realmd-arch-helper.sh --disable-pam-nss' /usr/lib/realmd/realmd-distro.conf
|
|
sed -i '/commands/a sssd-enable-service = /usr/bin/systemctl enable sssd' /usr/lib/realmd/realmd-distro.conf
|
|
sed -i '/commands/a sssd-disable-service = /usr/bin/systemctl disable sssd' /usr/lib/realmd/realmd-distro.conf
|
|
|
|
;;
|
|
--enable-pam-nss)
|
|
cat << EOF > /etc/pam.d/sssd-arch
|
|
auth sufficient pam_sss.so forward_pass
|
|
password sufficient pam_sss.so use_authtok
|
|
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
|
|
session optional pam_sss.so
|
|
EOF
|
|
unset pam
|
|
grep sssd-arch /etc/pam.d/system-auth > /dev/null && pam=1
|
|
[ $pam ] && echo "SSSD for PAM already enabled"
|
|
[ ! $pam ] && sed -i '2 i session include sssd-arch' /etc/pam.d/system-auth
|
|
[ ! $pam ] && sed -i '2 i password include sssd-arch' /etc/pam.d/system-auth
|
|
[ ! $pam ] && sed -i '2 i auth include sssd-arch' /etc/pam.d/system-auth
|
|
grep sssd-arch /etc/pam.d/system-auth > /dev/null && pam=1
|
|
[ $pam ] && echo Enabled SSSD in PAM
|
|
|
|
unset nss
|
|
grep sss /etc/nsswitch.conf > /dev/null && nss=1
|
|
[ $nss ] && echo SSSD already enabled in NSS
|
|
[ ! $nss ] && sed -i '/passwd:/s/$/ sss/' /etc/nsswitch.conf
|
|
[ ! $nss ] && sed -i '/group:/s/$/ sss/' /etc/nsswitch.conf
|
|
[ ! $nss ] && sed -i '/shadow:/s/$/ sss/' /etc/nsswitch.conf
|
|
grep sss /etc/nsswitch.conf > /dev/null && nss=1
|
|
[ $nss ] && echo Enabled SSSD in NSS
|
|
|
|
;;
|
|
|
|
--disable-pam-nss)
|
|
sed -i '/sssd-arch/d' /etc/pam.d/system-auth
|
|
sed -i 's/sss//g' /etc/nsswitch.conf
|
|
;;
|
|
|
|
*)
|
|
cat << EOF
|
|
Script to prepare realmd and realmd-git AUR packages to succesfully join a domain.
|
|
Run with --patch-config before joining
|
|
Valid options:
|
|
--patch-config
|
|
--enable-pam-nss
|
|
--disable-pam-nss
|
|
EOF
|
|
;;
|
|
esac
|