mirror of
https://github.com/kasmtech/workspaces-images.git
synced 2026-07-18 00:56:47 +00:00
KASM-8162 fix firefox default profiles
This commit is contained in:
parent
2afd833762
commit
1f6e129b49
1 changed files with 30 additions and 14 deletions
|
|
@ -152,10 +152,21 @@ pref("browser.aboutwelcome.enabled", false);
|
|||
EOF
|
||||
fi
|
||||
|
||||
# Firefox 147+ introduced XDG base dir support, so profile paths will vary and need to be handled appropriately
|
||||
FIREFOX_VERSION=$(firefox --version | awk '{print $3}')
|
||||
FIREFOX_MAJOR=$(echo "$FIREFOX_VERSION" | cut -d. -f1)
|
||||
if [ "${FIREFOX_MAJOR:-0}" -ge 147 ]; then
|
||||
FIREFOX_PROFILE_BASE="$HOME/.config/mozilla/firefox"
|
||||
else
|
||||
FIREFOX_PROFILE_BASE="$HOME/.mozilla/firefox"
|
||||
fi
|
||||
FIREFOX_PROFILE_PATH="$FIREFOX_PROFILE_BASE/kasm"
|
||||
FIREFOX_PROFILES_INI="$FIREFOX_PROFILE_BASE/profiles.ini"
|
||||
|
||||
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|rhel9|almalinux9|almalinux8|opensuse|fedora39|fedora40|fedora41) ]]; then
|
||||
# Creating a default profile
|
||||
chown -R root:root $HOME
|
||||
firefox -headless -CreateProfile "kasm $HOME/.mozilla/firefox/kasm"
|
||||
firefox -headless -CreateProfile "kasm $FIREFOX_PROFILE_PATH"
|
||||
# Generate a certdb to be detected on squid start
|
||||
HOME=/root firefox --headless &
|
||||
mkdir -p /root/.mozilla
|
||||
|
|
@ -168,23 +179,24 @@ if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|rhel9|almalinux9|
|
|||
sleep 2
|
||||
kill $(pgrep firefox)
|
||||
CERTDIR=$(dirname ${CERTDB})
|
||||
mv ${CERTDB} $HOME/.mozilla/firefox/kasm/
|
||||
mv ${CERTDB} $FIREFOX_PROFILE_PATH/
|
||||
rm -Rf /root/.mozilla
|
||||
else
|
||||
# Creating Default Profile
|
||||
chown -R 0:0 $HOME
|
||||
firefox -headless -CreateProfile "kasm $HOME/.mozilla/firefox/kasm"
|
||||
firefox -headless -CreateProfile "kasm $FIREFOX_PROFILE_PATH"
|
||||
fi
|
||||
|
||||
# Silence Firefox security nag "Some of Firefox's features may offer less protection on your current operating system".
|
||||
echo 'user_pref("security.sandbox.warn_unprivileged_namespaces", false);' > $HOME/.mozilla/firefox/kasm/user.js
|
||||
chown 1000:1000 $HOME/.mozilla/firefox/kasm/user.js
|
||||
mkdir -p "$FIREFOX_PROFILE_PATH"
|
||||
echo 'user_pref("security.sandbox.warn_unprivileged_namespaces", false);' > "$FIREFOX_PROFILE_PATH/user.js"
|
||||
chown 1000:1000 "$FIREFOX_PROFILE_PATH/user.js"
|
||||
|
||||
# configure smartcard support
|
||||
# note: some firefox versions don't read from the global pkcs11.txt when creating profiles
|
||||
if [[ ${KASM_SVC_SMARTCARD:-1} == 1 ]] && [ -f "$HOME/.pki/nssdb/pkcs11.txt" ]; then
|
||||
cp $HOME/.pki/nssdb/pkcs11.txt $HOME/.mozilla/firefox/kasm/pkcs11.txt
|
||||
chown 1000:1000 $HOME/.mozilla/firefox/kasm/pkcs11.txt
|
||||
cp "$HOME/.pki/nssdb/pkcs11.txt" "$FIREFOX_PROFILE_PATH/pkcs11.txt"
|
||||
chown 1000:1000 "$FIREFOX_PROFILE_PATH/pkcs11.txt"
|
||||
fi
|
||||
|
||||
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|rhel9|almalinux9|almalinux8|opensuse|fedora39|fedora40|fedora41) ]]; then
|
||||
|
|
@ -195,33 +207,33 @@ fi
|
|||
# based off the installation path. Because that path will be static for our deployments we can assume the hash
|
||||
# and thus assign our profile to the default for the installation
|
||||
if grep -q "ID=kali" /etc/os-release; then
|
||||
cat >>$HOME/.mozilla/firefox/profiles.ini <<EOL
|
||||
cat >>$FIREFOX_PROFILES_INI <<EOL
|
||||
[Install3B6073811A6ABF12]
|
||||
Default=kasm
|
||||
Locked=1
|
||||
EOL
|
||||
elif grep -q "ID=debian" /etc/os-release || grep -q "ID=parrot" /etc/os-release; then
|
||||
if [ "${ARCH}" != "amd64" ]; then
|
||||
cat >>$HOME/.mozilla/firefox/profiles.ini <<EOL
|
||||
cat >>$FIREFOX_PROFILES_INI <<EOL
|
||||
[Install3B6073811A6ABF12]
|
||||
Default=kasm
|
||||
Locked=1
|
||||
EOL
|
||||
else
|
||||
cat >>$HOME/.mozilla/firefox/profiles.ini <<EOL
|
||||
cat >>$FIREFOX_PROFILES_INI <<EOL
|
||||
[Install4F96D1932A9F858E]
|
||||
Default=kasm
|
||||
Locked=1
|
||||
EOL
|
||||
fi
|
||||
elif [[ "${DISTRO}" != @(oracle8|rockylinux9|rockylinux8|oracle9|rhel9|almalinux9|almalinux8|opensuse|fedora39|fedora40|fedora41) ]]; then
|
||||
cat >>$HOME/.mozilla/firefox/profiles.ini <<EOL
|
||||
cat >>$FIREFOX_PROFILES_INI <<EOL
|
||||
[Install4F96D1932A9F858E]
|
||||
Default=kasm
|
||||
Locked=1
|
||||
EOL
|
||||
elif [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|rhel9|almalinux9|almalinux8|opensuse|fedora39|fedora40|fedora41) ]]; then
|
||||
cat >>$HOME/.mozilla/firefox/profiles.ini <<EOL
|
||||
cat >>$FIREFOX_PROFILES_INI <<EOL
|
||||
[Install11457493C5A56847]
|
||||
Default=kasm
|
||||
Locked=1
|
||||
|
|
@ -239,5 +251,9 @@ find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \;
|
|||
if [ -f $HOME/Desktop/firefox.desktop ]; then
|
||||
chmod +x $HOME/Desktop/firefox.desktop
|
||||
fi
|
||||
chown -R 1000:1000 $HOME/.mozilla
|
||||
|
||||
if [ -d "$HOME/.mozilla" ]; then
|
||||
chown -R 1000:1000 "$HOME/.mozilla"
|
||||
fi
|
||||
if [ -d "$HOME/.config/mozilla" ]; then
|
||||
chown -R 1000:1000 "$HOME/.config/mozilla"
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue