Prechádzať zdrojové kódy

add sudo override for aur installation

Casey DeLorme 1 týždeň pred
rodič
commit
db7dc30001
1 zmenil súbory, kde vykonal 12 pridanie a 6 odobranie
  1. 12 6
      arch.sh

+ 12 - 6
arch.sh

@@ -133,6 +133,13 @@ mkdir -p /etc/skel/{desktop,downloads,public,public/templates,documents,music,pi
 rsync -Pav /etc/skel/ "$(getent passwd root | cut -d: -f6)/"
 sed -i "/ssh-add/d" "$(getent passwd root | cut -d: -f6)/.bashrc"
 
+# symlink scheduled maintenance tasks
+#ln -sf /usr/local/bin/system-updates /etc/cron.daily/system-updates
+ln -sf /usr/local/bin/disk-maintenance /etc/cron.weekly/disk-maintenance
+
+# symlink override vi to vim
+ln -sf /usr/bin/vim /usr/local/bin/vi
+
 # enable ccache and optimize cores for AUR
 sed -i 's/!ccache/ccache/' /etc/makepkg.conf
 sed -i 's/^#MAKEFLAGS.*/MAKEFLAGS="-j$(($(nproc) + 1)) -l$(nproc)"/' /etc/makepkg.conf
@@ -204,6 +211,9 @@ fi
 su $username -c "mkdir -p ~/code/aur.archlinux.org"
 export user_home="$(getent passwd $username | cut -d: -f6)/"
 
+# temporarily override sudo for this user
+echo "${username} ALL= NOPASSWD: /usr/bin/pacman" > /etc/sudoers.d/${username}
+
 # install qview
 sudo -u $username git clone https://aur.archlinux.org/qview.git ${user_home}/aur.archlinux.org/qview
 (cd ${user_home}/aur.archlinux.org/qview && sudo -u ${username} makepkg -rcsi --noconfirm)
@@ -225,12 +235,8 @@ sudo -u $username git clone https://aur.archlinux.org/vimix-cursors.git ${user_h
 sudo -u $username git clone https://aur.archlinux.org/numix-icon-theme-git.git ${user_home}/aur.archlinux.org/numix-icon-theme-git
 (cd ${user_home}/aur.archlinux.org/numix-icon-theme-git && sudo -u ${username} makepkg -rcsi --noconfirm)
 
-# symlink shceduled maintenance tasks
-#ln -sf /usr/local/bin/system-updates /etc/cron.daily/system-updates
-ln -sf /usr/local/bin/disk-maintenance /etc/cron.weekly/disk-maintenance
-
-# symlink override vi to vim
-ln -sf /usr/bin/vim /usr/local/bin/vi
+# clear sudo override
+[ -f /etc/sudoers.d/${username} ] && rm /etc/sudoers.d/${username}
 
 # enable services for next reboot
 which acpid &> /dev/null && systemctl enable acpid