Unverified Commit d50de951 authored by Dominik George's avatar Dominik George
Browse files

update-cert-dbs: Check user existence.

Also do not parse ls [1], and use $BASE_HOME consequently.

[1] https://mywiki.wooledge.org/ParsingLs
parent e8b9941e
Loading
Loading
Loading
Loading
+16 −9
Original line number Diff line number Diff line
@@ -6,17 +6,24 @@
set -e

BASE_HOME=/skole/tjener/home0
for i in $(ls /skole/tjener/home0/ | grep -v lost+found) ; do
    if [ -d $BASE_HOME/$i/.mozilla/firefox/debian-edu.default ] ; then
        su - $i sh -c 'certutil  -A -d sql:$HOME/.mozilla/firefox/debian-edu.default/ -t "CT,CT," -n "DebianEdu" -i /etc/ssl/certs/Debian-Edu_rootCA.crt'
        su - $i sh -c 'certutil  -A -d dbm:$HOME/.mozilla/firefox/debian-edu.default/ -t "CT,CT," -n "DebianEdu" -i /etc/ssl/certs/Debian-Edu_rootCA.crt'
for dir in "$BASE_HOME"/*; do
    # Skip if not a directory
    test -d "$dir" || continue

    # Extract username and check existence
    username=${dir##*/}
    id "$username" || continue

    if [ -d "$dir/.mozilla/firefox/debian-edu.default" ] ; then
        su - $username sh -c 'certutil  -A -d sql:$HOME/.mozilla/firefox/debian-edu.default/ -t "CT,CT," -n "DebianEdu" -i /etc/ssl/certs/Debian-Edu_rootCA.crt'
        su - $username sh -c 'certutil  -A -d dbm:$HOME/.mozilla/firefox/debian-edu.default/ -t "CT,CT," -n "DebianEdu" -i /etc/ssl/certs/Debian-Edu_rootCA.crt'
    fi
    if [ -d $BASE_HOME/$i/.thunderbird/debian-edu.default ] ; then
        su - $i sh -c 'certutil  -A -d sql:$HOME/.thunderbird/debian-edu.default/ -t "CT,CT," -n "DebianEdu" -i /etc/ssl/certs/Debian-Edu_rootCA.crt'
        su - $i sh -c 'certutil  -A -d dbm:$HOME/.thunderbird/debian-edu.default/ -t "CT,CT," -n "DebianEdu" -i /etc/ssl/certs/Debian-Edu_rootCA.crt'
    if [ -d "$dir/.thunderbird/debian-edu.default" ] ; then
        su - $username sh -c 'certutil  -A -d sql:$HOME/.thunderbird/debian-edu.default/ -t "CT,CT," -n "DebianEdu" -i /etc/ssl/certs/Debian-Edu_rootCA.crt'
        su - $username sh -c 'certutil  -A -d dbm:$HOME/.thunderbird/debian-edu.default/ -t "CT,CT," -n "DebianEdu" -i /etc/ssl/certs/Debian-Edu_rootCA.crt'
    fi
    if [ -d $BASE_HOME/$i/.pki/nssdb ] ; then
        su - $i sh -c 'certutil  -A -d sql:$HOME/.pki/nssdb/ -t "CT,CT," -n "DebianEdu" -i /etc/ssl/certs/Debian-Edu_rootCA.crt'
    if [ -d "$dir/.pki/nssdb" ] ; then
        su - $username sh -c 'certutil  -A -d sql:$HOME/.pki/nssdb/ -t "CT,CT," -n "DebianEdu" -i /etc/ssl/certs/Debian-Edu_rootCA.crt'
    fi
    logger -t update-cert-dbs "Updated nssdb files for user accounts in $BASE_HOME/."
done