From e8dc186ffba50a207fc98e12846d5efbd1e226c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodolphe=20Br=C3=A9ard?= Date: Tue, 12 Dec 2023 09:48:12 +0100 Subject: [PATCH] Switch to ArchLinux --- README.md | 14 +- bootstrap.sh | 72 ++++++++ cnf/auto_install.desktop | 296 +----------------------------- cnf/firefox.desktop | 18 -- scripts/firefox.sh => cnf/user.js | 129 +++++-------- configure.sh | 175 ++++++++++++++++++ create_vm.bat | 8 +- finalize_install.sh | 100 ++++++++-- preseed.cfg | 192 ------------------- scripts/misc.sh | 31 ---- scripts/raccourcis.sh | 28 --- scripts/repertoire_partage.sh | 23 --- 12 files changed, 396 insertions(+), 690 deletions(-) create mode 100644 bootstrap.sh delete mode 100644 cnf/firefox.desktop rename scripts/firefox.sh => cnf/user.js (61%) create mode 100644 configure.sh delete mode 100644 preseed.cfg delete mode 100644 scripts/misc.sh delete mode 100644 scripts/raccourcis.sh delete mode 100644 scripts/repertoire_partage.sh diff --git a/README.md b/README.md index 7f5072e..06bfbc4 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,19 @@ Ces scripts sont utilisés par le service des contrôles de la CNIL afin de générer une machine virtuelle de référence qui servira, par la suite, de base pour les machines virtuelles de chaque contrôle en ligne. -Ces scripts sont exécutés en 3 temps : +Ces scripts sont exécutés en plusieurs temps : 1. `create_vm.bat` est utilisé pour créer la machine virtuelle elle-même et la lance ; -2. `preseed.cfg` est utilisé pour automatiser l'installation de Debian sur la machine virtuelle ; -3. Lors de la première connexion de l'utilisateur de contrôle, `cnf/auto_install.desktop` lance automatiquement `finalize_install.sh` afin de finaliser la préparation de la machine virtuelle. +2. `bootstrap.sh` est utilisé pour installer le système et lance `configure.sh` dès que le système est prêt ; +3. `configure.sh` est utilisé pour configurer le système et préparer la finalisation, notamment en installant `finalize_install.sh` et les données qui lui sont liées ; +4. `finalize_install.sh` est automatiquement lancé lors de la première connexion à la machine virtuelle et permet d’effectuer les derniers réglages, notamment l’installation de l’extension CNIL-Cookies-List et la vérification anti-malwares. + +L'image ISO attendue lors de l'exécution de `create_vm.bat` est celle d’[ArchLinux][archlinux_download]. Ces scripts sont publiés sous la licence [CeCILL 2.1][cecill]. Pour en savoir plus au sujet des contrôles menés par la CNIL, veuillez consulter la [charte des contrôles][charte_controles]. -[charte_controles]: https://www.cnil.fr/fr/controles-de-la-cnil-une-charte-pour-tout-comprendre -[cecill]: http://cecill.info/ +[archlinux_download]: https://archlinux.org/download/ +[cecill]: https://cecill.info/ +[charte_controles]: https://www.cnil.fr/fr/controles-de-la-cnil-une-charte-pour-tout-comprendre \ No newline at end of file diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100644 index 0000000..8f452c1 --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +set -euo pipefail +IFS=$'\n\t' + +DISK_NAME="/dev/sda" +PART_NB="1" +PART_NAME="${DISK_NAME}${PART_NB}" +SHARED_DIR="/media/sf_PiecesNumeriques" +INSTALL_MOUNT_POINT_ROOT="/mnt" +CHROOT_DATA_DEST_PATH="/root/script_data" +DATA_DEST_PATH="${INSTALL_MOUNT_POINT_ROOT}${CHROOT_DATA_DEST_PATH}" + +# +# Guide d'installation : +# https://wiki.archlinux.org/title/Installation_guide +# + +# Réglage du clavier +loadkeys "fr-latin1" + +# Réglage du temps +timedatectl + +# Préparation de la partition +echo "type=83" | sfdisk "$DISK_NAME" +sfdisk --activate "$DISK_NAME" "$PART_NB" +mkfs.ext4 "$PART_NAME" +mount "$PART_NAME" "$INSTALL_MOUNT_POINT_ROOT" + +# Installation des paquets +# https://man.archlinux.org/man/reflector.1 +# https://man.archlinux.org/man/pacstrap.8 +# https://archlinux.org/packages/ +reflector --country "France" --protocol "https" --sort "rate" --save "/etc/pacman.d/mirrorlist" +pacstrap -K "$INSTALL_MOUNT_POINT_ROOT" \ + base base-devel linux linux-firmware linux-headers \ + grub \ + man-db man-pages man-pages-fr texinfo \ + dosfstools mtools \ + bash \ + vim neovim \ + sudo \ + dhcpcd \ + git \ + plasma-meta kde-applications-meta sddm \ + noto-fonts noto-fonts-emoji noto-fonts-extra ttf-dejavu ttf-inconsolata ttf-liberation ttf-roboto \ + virtualbox-guest-utils \ + clamav \ + bind dog inetutils nmap wget whois \ + chromium firefox firefox-i18n-fr \ + mitmproxy mkcert \ + obs-studio \ + ssh-audit sqlmap \ + wipe \ + wireshark-qt + +# Génération du fichier de configuration du montage des systèmes de fichier +genfstab -U "$INSTALL_MOUNT_POINT_ROOT" >>"${INSTALL_MOUNT_POINT_ROOT}/etc/fstab" + +# Paramétrage du système +# https://man.archlinux.org/man/arch-chroot.8 +mkdir -p "${DATA_DEST_PATH}/cnf" +cp -vr "${SHARED_DIR}/cnf" "$DATA_DEST_PATH" +cp -v "${SHARED_DIR}/configure.sh" "$DATA_DEST_PATH" +cp -v "${SHARED_DIR}/finalize_install.sh" "$DATA_DEST_PATH" +arch-chroot "$INSTALL_MOUNT_POINT_ROOT" /bin/bash "${CHROOT_DATA_DEST_PATH}/configure.sh" +rm -rf "${DATA_DEST_PATH}/cnf" "${DATA_DEST_PATH}/configure.sh" "${DATA_DEST_PATH}/finalize_install.sh" + +# Finalisation +umount -R /mnt +reboot \ No newline at end of file diff --git a/cnf/auto_install.desktop b/cnf/auto_install.desktop index 97332d0..0cecc9a 100644 --- a/cnf/auto_install.desktop +++ b/cnf/auto_install.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Type=Application TryExec=konsole -Exec=konsole -e "bash /home/controle/post_install/finalize_install.sh" +Exec=konsole -e "bash /home/controle/script_data/finalize_install.sh" Icon=utilities-terminal Terminal=false Categories=Qt;KDE;System;TerminalEmulator; @@ -13,314 +13,20 @@ X-KDE-AuthorizeAction=shell_access X-KDE-AutostartScript=true Name=Konsole -Name[af]=Konsole -Name[ar]=كونسول -Name[as]=Konsole -Name[ast]=Konsole -Name[be]=Konsole -Name[be@latin]=Konsole -Name[bg]=Konsole -Name[bn]=কনসোল -Name[bn_IN]=Konsole -Name[br]=Konsole -Name[bs]=Konzola -Name[ca]=Konsole -Name[ca@valencia]=Konsole -Name[cs]=Konsole -Name[csb]=Kònsola -Name[cy]=Konsole -Name[da]=Konsole -Name[de]=Konsole -Name[el]=Κονσόλα -Name[en_GB]=Konsole -Name[eo]=Konsole -Name[es]=Konsole -Name[et]=Konsool -Name[eu]=Kontsola -Name[fa]=کنسول -Name[fi]=Konsole Name[fr]=Konsole -Name[fy]=Konsole -Name[ga]=Konsole -Name[gl]=Konsole -Name[gu]=કોન્સોલ -Name[he]=Konsole -Name[hi]=कंसोल -Name[hne]=कंसोल -Name[hr]=Konsole -Name[hsb]=Konsola -Name[hu]=Konsole -Name[ia]=Konsole -Name[id]=Konsole -Name[is]=Konsole -Name[it]=Konsole -Name[ja]=Konsole -Name[ka]=კონსოლი -Name[kk]=Konsole -Name[km]=កុងសូល -Name[kn]=ಕನ್ಸೋಲ್ -Name[ko]=Konsole -Name[ku]=Konsol -Name[lt]=Konsole -Name[lv]=Konsole -Name[mai]=कंसोल -Name[mk]=Конзола -Name[ml]=കണ്‍സോള്‍ -Name[mr]=कंसोल -Name[ms]=Konsole -Name[nb]=Konsole -Name[nds]=Konsole -Name[ne]=कन्सोल -Name[nl]=Konsole -Name[nn]=Konsoll -Name[or]=କୋଲସୋଲ -Name[pa]=ਕਨਸੋਲ -Name[pl]=Konsola -Name[pt]=Konsole -Name[pt_BR]=Konsole -Name[ro]=Konsolă -Name[ru]=Konsole -Name[se]=Konsolla -Name[si]=කන්සෝල් -Name[sk]=Konsole -Name[sl]=Konsole -Name[sr]=Конзола -Name[sr@ijekavian]=Конзола -Name[sr@ijekavianlatin]=Konsole -Name[sr@latin]=Konsole -Name[sv]=Terminal -Name[ta]=கான்சோல் -Name[te]=కాన్సోల్ -Name[tg]=Консол -Name[th]=คอนโซล-K -Name[tr]=Konsole -Name[ug]=Konsole -Name[uk]=Konsole -Name[uz]=Konsole -Name[uz@cyrillic]=Konsole -Name[vi]=Konsole -Name[wa]=Konsole -Name[xh]=Konsole -Name[x-test]=xxKonsolexx -Name[zh_CN]=Konsole -Name[zh_TW]=Konsole GenericName=Terminal -GenericName[af]=Terminaal -GenericName[ar]=طرفيّة -GenericName[as]=টাৰ্মিনেল -GenericName[ast]=Terminal -GenericName[be@latin]=Terminał -GenericName[bg]=Терминал -GenericName[bn]=টার্মিনাল -GenericName[bn_IN]=টার্মিন্যাল -GenericName[bs]=Terminal -GenericName[ca]=Terminal -GenericName[ca@valencia]=Terminal -GenericName[cs]=Terminál -GenericName[csb]=Terminal -GenericName[da]=Terminal -GenericName[de]=Terminal -GenericName[el]=Τερματικό -GenericName[en_GB]=Terminal -GenericName[eo]=Terminalo -GenericName[es]=Terminal -GenericName[et]=Terminal -GenericName[eu]=Terminala -GenericName[fa]=پایانه -GenericName[fi]=Pääteikkuna GenericName[fr]=Terminal -GenericName[fy]=Terminal -GenericName[ga]=Teirminéal -GenericName[gl]=Terminal -GenericName[gu]=ટર્મિનલ -GenericName[he]=מסוף -GenericName[hi]=टर्मिनल -GenericName[hne]=टर्मिनल -GenericName[hr]=Terminal -GenericName[hsb]=Terminal -GenericName[hu]=Terminál -GenericName[ia]=Terminal -GenericName[id]=Terminal -GenericName[is]=Skjáhermir -GenericName[it]=Terminale -GenericName[ja]=ターミナル -GenericName[ka]=ტერმინალი -GenericName[kk]=Терминал -GenericName[km]=ស្ថានីយ -GenericName[kn]=ಆದೇಶತೆರೆ (ಟರ್ಮಿನಲ್) -GenericName[ko]=터미널 -GenericName[ku]=Termînal -GenericName[lt]=Terminalas -GenericName[lv]=Terminālis -GenericName[mai]=टर्मिनल -GenericName[mk]=Терминал -GenericName[ml]=ടെര്‍മിനല്‍ -GenericName[mr]=टर्मिनल -GenericName[nb]=Terminal -GenericName[nds]=Konsool -GenericName[nl]=Terminal -GenericName[nn]=Terminal -GenericName[or]=ଟର୍ମିନାଲ -GenericName[pa]=ਟਰਮੀਨਲ -GenericName[pl]=Terminal -GenericName[pt]=Terminal -GenericName[pt_BR]=Terminal -GenericName[ro]=Terminal -GenericName[ru]=Терминал -GenericName[se]=Terminal -GenericName[si]=අග්‍රය -GenericName[sk]=Terminál -GenericName[sl]=Terminal -GenericName[sr]=Терминал -GenericName[sr@ijekavian]=Терминал -GenericName[sr@ijekavianlatin]=Terminal -GenericName[sr@latin]=Terminal -GenericName[sv]=Terminal -GenericName[ta]=முனையம் -GenericName[te]=టెర్మినల్ -GenericName[tg]=Терминал -GenericName[th]=เทอร์มินัล -GenericName[tr]=Uçbirim -GenericName[ug]=تېرمىنال -GenericName[uk]=Термінал -GenericName[uz]=Terminal -GenericName[uz@cyrillic]=Терминал -GenericName[wa]=Terminå -GenericName[x-test]=xxTerminalxx -GenericName[zh_CN]=终端 -GenericName[zh_TW]=終端機 Comment=Command line access -Comment[ca]=Accés a la línia d'ordres -Comment[ca@valencia]=Accés a la línia d'ordres -Comment[cs]=Přístup k příkazové řádce -Comment[da]=Kommandolinjetilgang -Comment[de]=Zugriff auf die Befehlszeile -Comment[el]=Πρόσβαση από τη γραμμή εντολών -Comment[en_GB]=Command line access -Comment[es]=Acceso a la línea de órdenes -Comment[et]=Käsurea kasutamine -Comment[fa]=دسترسی خط فرمان -Comment[fi]=Pääsy komentoriville Comment[fr]=Ligne de commande -Comment[gl]=Acceso á liña de ordes. -Comment[he]=גישה לשורת הפקודה -Comment[hu]=Parancssori hozzáférés -Comment[ia]=Accesso a linea de commando -Comment[id]=Akses baris perintah -Comment[is]=Aðgangur með skipanalínu -Comment[it]=Accesso alla riga di comando -Comment[ko]=명령행 접근 -Comment[nb]=Tilgang til kommandolinje -Comment[nl]=Toegang tot de opdrachtregel -Comment[nn]=Kommandolinjetilgang -Comment[pl]=Dostęp do wiersza poleceń -Comment[pt]=Acesso à linha de comandos -Comment[pt_BR]=Acesso à linha de comandos -Comment[ru]=Доступ к командной строке -Comment[sk]=Prístup na príkazový riadok -Comment[sl]=Dostop do ukazne vrstice -Comment[sr]=Приступ командној линији -Comment[sr@ijekavian]=Приступ командној линији -Comment[sr@ijekavianlatin]=Pristup komandnoj liniji -Comment[sr@latin]=Pristup komandnoj liniji -Comment[sv]=Åtkomst till kommandorad -Comment[tr]=Komut satırı erişimi -Comment[uk]=Доступ до командного рядка -Comment[x-test]=xxCommand line accessxx -Comment[zh_CN]=命令行访问 -Comment[zh_TW]=指令列 [Desktop Action NewWindow] Name=Open a New Window -Name[ar]=افتح نافذة جديدة -Name[bs]=Otvori u novom prozoru -Name[ca]=Obre una finestra nova -Name[ca@valencia]=Obri una finestra nova -Name[cs]=Otevřít nové okno -Name[da]=Åbn et nyt vindue -Name[de]=Ein neues Fenster öffnen -Name[el]=Άνοιγμα νέου παραθύρου -Name[en_GB]=Open a New Window -Name[es]=Abrir una nueva ventana -Name[et]=Ava uues aknas -Name[fa]=باز کردن یک پنجره جدید -Name[fi]=Avaa uusi ikkuna Name[fr]=Ouvrir dans une nouvelle fenêtre -Name[gl]=Abrir unha xanela nova -Name[he]=פתח חלון חדש -Name[hu]=Új ablak megnyitása -Name[ia]=Aperi un nove fenestra -Name[id]=Buka Jendela Baru -Name[is]=Opna nýjan glugga -Name[it]=Apri in una nuova finestra -Name[ko]=새 창 열기 -Name[lt]=Atverti naujame lange -Name[nb]=Åpne et nytt vindu -Name[nds]=En nieg Finster opmaken -Name[nl]=Een nieuw venster openen -Name[nn]=Opna i nytt vindauge -Name[pa]=ਨਵੀਂ ਵਿੰਡੋ ਖੋਲ੍ਹੋ -Name[pl]=Otwórz nowe okno -Name[pt]=Abrir uma Nova Janela -Name[pt_BR]=Abre uma nova janela -Name[ro]=Deschide o fereastră nouă -Name[ru]=Открыть новое окно -Name[sk]=Otvoriť nové okno -Name[sl]=Odpri novo okno -Name[sr]=Отвори нови прозор -Name[sr@ijekavian]=Отвори нови прозор -Name[sr@ijekavianlatin]=Otvori novi prozor -Name[sr@latin]=Otvori novi prozor -Name[sv]=Öppna ett nytt fönster -Name[tr]=Yeni Pencere Aç -Name[uk]=Відкрити нове вікно -Name[x-test]=xxOpen a New Windowxx -Name[zh_CN]=打开新窗口 -Name[zh_TW]=開啟新視窗 Exec=konsole -e "bash /home/controle/post_install/finalize_install.sh" [Desktop Action NewTab] Name=Open a New Tab -Name[ca]=Obre una pestanya nova -Name[ca@valencia]=Obri una pestanya nova -Name[cs]=Otevřít novou kartu -Name[da]=Åbn et nyt faneblad -Name[de]=Ein neues Unterfenster öffnen -Name[el]=Άνοιγμα νέας καρτέλας -Name[en_GB]=Open a New Tab -Name[es]=Abrir una nueva pestaña -Name[et]=Ava uuel kaardil -Name[fa]=باز کردن یک برگه جدید -Name[fi]=Avaa uusi välilehti Name[fr]=Ouvrir un nouvel onglet -Name[gl]=Abrir unha lapela nova -Name[he]=פתח כרטיסיה חדשה -Name[hu]=Új lap megnyitása -Name[ia]=Aperi un nove scheda -Name[id]=Buka sebuah Tab Baru -Name[is]=Opna nýjan flipa -Name[it]=Apri in una nuova scheda -Name[ko]=새 탭 열기 -Name[nb]=Åpne en ny fane -Name[nl]=Een nieuw tabblad openen -Name[nn]=Opna ny fane -Name[pa]=ਨਵੀਂ ਟੈਬ ਖੋਲ੍ਹੋ -Name[pl]=Otwórz nową kartę -Name[pt]=Abrir uma Nova Página -Name[pt_BR]=Abre uma nova aba -Name[ru]=Открыть новую вкладку -Name[sk]=Otvoriť novú kartu -Name[sl]=Odpri nov zavihek -Name[sr]=Отвори нови језичак -Name[sr@ijekavian]=Отвори нови језичак -Name[sr@ijekavianlatin]=Otvori novi jezičak -Name[sr@latin]=Otvori novi jezičak -Name[sv]=Öppna en ny flik -Name[tr]=Yeni Bir Sekme Aç -Name[uk]=Відкрити нову вкладку -Name[x-test]=xxOpen a New Tabxx -Name[zh_CN]=打开新标签 -Name[zh_TW]=開啟新分頁 Exec=konsole -e "bash /home/controle/post_install/finalize_install.sh" --new-tab diff --git a/cnf/firefox.desktop b/cnf/firefox.desktop deleted file mode 100644 index 022e2ba..0000000 --- a/cnf/firefox.desktop +++ /dev/null @@ -1,18 +0,0 @@ -[Desktop Entry] -Name=Firefox -Name[fr]=Firefox -Comment=Browse the World Wide Web -Comment[fr]=Navigue sur Internet -GenericName=Web Browser -GenericName[fr]=Navigateur Web -X-GNOME-FullName=Firefox Web Browser -X-GNOME-FullName[fr]=Navigateur Web Firefox -Exec=flatpak run org.mozilla.firefox -Terminal=false -X-MultipleArgs=false -Type=Application -Icon=firefox-esr -Categories=Network;WebBrowser; -MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https; -StartupWMClass=Firefox-esr -StartupNotify=true diff --git a/scripts/firefox.sh b/cnf/user.js similarity index 61% rename from scripts/firefox.sh rename to cnf/user.js index ba6d520..e95181d 100644 --- a/scripts/firefox.sh +++ b/cnf/user.js @@ -1,79 +1,50 @@ -#!/bin/bash - -set -euo pipefail -IFS=$'\n\t' - -# Installation de FireFox -flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo -flatpak install -y flathub org.mozilla.firefox -sudo flatpak override org.mozilla.firefox --filesystem=home - -# Installation de CNIL Cookies List -wget "$COOKIES_LIST_URL" -O "$CTRL_HOME/$COOKIES_LIST_NAME" -flatpak run "org.mozilla.firefox" "$CTRL_HOME/$COOKIES_LIST_NAME" - -# Récupération du chemin vers le profil FireFox -CTRL_MOZ_HOME="$CTRL_HOME/.mozilla/firefox" -PROFILE_NAME=$(cat "$CTRL_MOZ_HOME/profiles.ini" | grep Path= | grep release | sed "s/Path=//") -CTRL_MOZ_PROFILE="$CTRL_MOZ_HOME/$PROFILE_NAME" - -# Modification des moteurs de recherche -cp "$SCRIPTS_ROOT/cnf/search.json.mozlz4" "$CTRL_MOZ_PROFILE/search.json.mozlz4" - -# Configuration des paramètres -# Le fichier user.js n'existe pas de base mais est géré par firefox. -# Il n'est jamais modifié et s'appliquera a chaque ouverture -# Voir : https://developer.mozilla.org/en-US/docs/Mozilla/Preferences/A_brief_guide_to_Mozilla_preferences#Changing_defaults -cat >"$CTRL_MOZ_PROFILE/user.js" << EOF - -//Désactive le fait de montrer la barre de menu quand on appuie sur alt... TODO : changer -//sticky_pref("ui.key.menuAccessKeyFocuses",false); - -//Démarrer sur une page blanche -user_pref("browser.newtabpage.enabled",false); -user_pref("browser.startup.homepage","about:blank"); - -//Désactivation de l'option "Afficher les suggestions de rechercher" -user_pref("browser.search.suggest.enabled",false); - -//Suppression de la barre de moteur de recherche dans l'écran principal -user_pref("browser.search.widget.inNavBar",false); - -//Masque les moteurs de recherche autre que Wikipédia -user_pref("browser.search.hiddenOneOffs","Google,Amazon.fr,Bing,DuckDuckGo,eBay,Qwant"); - -// -user_pref("keyword.enabled",false); -user_pref("extensions.pocket.enabled",false); - -//Désactiver les mises à jour auto des extensions -user_pref("extensions.update.autoUpdateDefault",false); - -//Conserver l'historique selectionnée (par défaut); -user_pref("places.history.enabled", true); -user_pref("browser.formfill.enable", true); - -//Désactiver toutes les protections contre le pistage -user_pref("browser.contentblocking.category","custom"); -user_pref("pref.privacy.disable_button.tracking_protection_exceptions", false); -user_pref("privacy.trackingprotection.pbmode.enabled",false); - -//Header "Do not Track" désactivé -user_pref("privacy.donottrackheader.enabled",false); - -//Désactiver le blocage des popups -user_pref("dom.disable_open_during_load",false); - -//Désactiver les options de blacage de contenus trompeurs/dangereux -user_pref("browser.safebrowsing.malware.enabled",false); -user_pref("brower.safebrowsing.phising.enabled",false); - -//Désactiver les envois de rapports de plantage -user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2",false); - -//Pas de proxy -user_pref("network.proxy.type",0); - -//Désactiver la MaJ auto des moteurs de recherche -user_pref("browser.search.update",false); -EOF +//Désactive le fait de montrer la barre de menu quand on appuie sur alt... TODO : changer +//sticky_pref("ui.key.menuAccessKeyFocuses",false); + +//Démarrer sur une page blanche +user_pref("browser.newtabpage.enabled",false); +user_pref("browser.startup.homepage","about:blank"); + +//Désactivation de l'option "Afficher les suggestions de rechercher" +user_pref("browser.search.suggest.enabled",false); + +//Suppression de la barre de moteur de recherche dans l'écran principal +user_pref("browser.search.widget.inNavBar",false); + +//Masque les moteurs de recherche autre que Wikipédia +user_pref("browser.search.hiddenOneOffs","Google,Amazon.fr,Bing,DuckDuckGo,eBay,Qwant"); + +// +user_pref("keyword.enabled",false); +user_pref("extensions.pocket.enabled",false); + +//Désactiver les mises à jour auto des extensions +user_pref("extensions.update.autoUpdateDefault",false); + +//Conserver l'historique selectionnée (par défaut); +user_pref("places.history.enabled", true); +user_pref("browser.formfill.enable", true); + +//Désactiver toutes les protections contre le pistage +user_pref("browser.contentblocking.category","custom"); +user_pref("pref.privacy.disable_button.tracking_protection_exceptions", false); +user_pref("privacy.trackingprotection.pbmode.enabled",false); + +//Header "Do not Track" désactivé +user_pref("privacy.donottrackheader.enabled",false); + +//Désactiver le blocage des popups +user_pref("dom.disable_open_during_load",false); + +//Désactiver les options de blacage de contenus trompeurs/dangereux +user_pref("browser.safebrowsing.malware.enabled",false); +user_pref("brower.safebrowsing.phising.enabled",false); + +//Désactiver les envois de rapports de plantage +user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2",false); + +//Pas de proxy +user_pref("network.proxy.type",0); + +//Désactiver la MaJ auto des moteurs de recherche +user_pref("browser.search.update",false); \ No newline at end of file diff --git a/configure.sh b/configure.sh new file mode 100644 index 0000000..8f77c4f --- /dev/null +++ b/configure.sh @@ -0,0 +1,175 @@ +#!/bin/bash + +set -euo pipefail +IFS=$'\n\t' + +APPS_ROOT="/usr/share/applications" + +CTRL_USERNAME="controle" +CTRL_GROUP="$CTRL_USERNAME" +CTRL_HOME="/home/${CTRL_USERNAME}" +CTRL_DESKTOP="${CTRL_HOME}/Bureau" +CTRL_AUR_BUILD_DIR="$CTRL_HOME" +CTRL_SCRIPT_DATA="/root/script_data" + +# Ce mot de passe n’étant utilisé que pour une machine virtuelle devant pouvoir être reproduite par les organismes contrôlés, +# il est nécessaire de le publier au même titre que le reste des scripts de créations de la machine. +# Le mot de passe est donc « Cnil1978! ». +DEFAULT_PASSWORD='$y$j9T$0W6iUary2QbdF3qyu4Tzh0$XokZXEWnFqXzIXfwprSo9zuP1fFeEW6B9pRFnpgtNO1' + + +# +# -------------------------------------------------------- +# Configuration du système +# +# https://wiki.archlinux.org/title/Installation_guide +# https://wiki.archlinux.org/title/General_recommendations +# -------------------------------------------------------- +# + +# Réglage du temps +# https://wiki.archlinux.org/title/System_time +ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime +hwclock --systohc + +# Langues +# https://wiki.archlinux.org/title/Locale +sed -i "s/#en_US.UTF-8/en_US.UTF-8/" /etc/locale.gen +sed -i "s/#fr_FR.UTF-8/fr_FR.UTF-8/" /etc/locale.gen +locale-gen +echo "LANG=fr_FR.UTF-8" >/etc/locale.conf +echo "KEYMAP=fr-latin1" >/etc/vconsole.conf + +# Nom de la machine +echo "$CTRL_USERNAME" >/etc/hostname + +# Utilisateurs +# https://wiki.archlinux.org/title/Users_and_groups +# https://man.archlinux.org/man/useradd.8 +# Le mot de passe doit être passé sous forme hachée. +useradd --create-home --user-group --groups="vboxsf,wheel,wireshark" --password="$DEFAULT_PASSWORD" --shell="/usr/bin/bash" "$CTRL_USERNAME" + +# Sudo +# Ce fichier de configuration permet aux utilisateurs membres du groupe `wheel` d'utiliser `sudo` afin d'effectuer des actions d'administration. +# https://wiki.archlinux.org/title/Sudo +echo "%wheel ALL=(ALL:ALL) ALL" >/etc/sudoers.d/01_wheel + +# Bootloader +# https://wiki.archlinux.org/title/GRUB +grub-install --target="i386-pc" "/dev/sda" +grub-mkconfig -o "/boot/grub/grub.cfg" + +# Display manager +# https://wiki.archlinux.org/title/SDDM +# https://wiki.archlinux.org/title/Display_manager#Loading_the_display_manager +# Le service ne peut pas être activé avec la commande `systemctl enable sddm.service` car nous sommes dans un chroot. +ln -s '/usr/lib/systemd/system/sddm.service' '/etc/systemd/system/multi-user.target.wants/sddm.service' + +# Réseau +# https://wiki.archlinux.org/title/Network_configuration +# https://wiki.archlinux.org/title/Dhcpcd +# Le service ne peut pas être activé avec la commande `systemctl enable dhcpcd.service` car nous sommes dans un chroot. +ln -s '/usr/lib/systemd/system/dhcpcd.service' '/etc/systemd/system/multi-user.target.wants/dhcpcd.service' + +# Virtualbox +# https://wiki.archlinux.org/title/VirtualBox/Install_Arch_Linux_as_a_guest +# Le service ne peut pas être activé avec la commande `systemctl enable dhcpcd.service` car nous sommes dans un chroot. +ln -s '/usr/lib/systemd/system/vboxservice.service' '/etc/systemd/system/multi-user.target.wants/vboxservice.service' + + +# +# ------------------------------------- +# Configuration de l'espace utilisateur +# ------------------------------------- +# + +# Création du dossier de configuration, d'autostart et des données permettant de finaliser l'installation +mkdir -p "${CTRL_HOME}/script_data/cnf" +mkdir -p "${CTRL_HOME}/.config/autostart" +cp -vr "${CTRL_SCRIPT_DATA}/cnf" "${CTRL_HOME}/script_data" +cp -v "${CTRL_SCRIPT_DATA}/finalize_install.sh" "${CTRL_HOME}/script_data" +cp -v "${CTRL_SCRIPT_DATA}/cnf/auto_install.desktop" "${CTRL_HOME}/.config/autostart" +chown --recursive "${CTRL_USERNAME}:${CTRL_GROUP}" "${CTRL_HOME}/script_data" +chown --recursive "${CTRL_USERNAME}:${CTRL_GROUP}" "${CTRL_HOME}/.config/autostart" +chmod 755 "${CTRL_HOME}/script_data/finalize_install.sh" +chmod 755 "${CTRL_HOME}/.config/autostart/auto_install.desktop" + +# Agencement clavier +cat >"${CTRL_HOME}/.config/kxkbrc" << EOF +[\$Version] +update_info=kxkb.upd:remove-empty-lists,kxkb.upd:add-back-resetoptions,kxkb_variants.upd:split-variants + +[Layout] +LayoutList=fr +Use=true +EOF + +# Double click pour ouvrir les fichiers +cat >>"${CTRL_HOME}/.config/kdeglobals" << EOF + +[KDE] +SingleClick=false +EOF + +# Correction des droits sur le dossier de configuration et son contenu +chown --recursive "${CTRL_USERNAME}:${CTRL_GROUP}" "${CTRL_HOME}/.config" + + +# +# ---------- +# Raccourcis +# ---------- +# + +create_shortcut() { + install --verbose --group="$CTRL_GROUP" --owner="$CTRL_USERNAME" "$1" "$2" +} + +mkdir -p "$CTRL_DESKTOP" +cat >"${CTRL_DESKTOP}/trash.desktop" << EOF +[Desktop Entry] +EmptyIcon=user-trash +Icon=user-trash-full +Name=Corbeille +Type=Link +URL[\$e]=trash:/ +EOF + +create_shortcut "$APPS_ROOT/org.wireshark.Wireshark.desktop" "${CTRL_DESKTOP}/" +create_shortcut "$APPS_ROOT/firefox.desktop" "${CTRL_DESKTOP}/" +create_shortcut "$APPS_ROOT/chromium.desktop" "${CTRL_DESKTOP}/" +create_shortcut "$APPS_ROOT/org.kde.spectacle.desktop" "${CTRL_DESKTOP}/" +create_shortcut "$APPS_ROOT/org.kde.konsole.desktop" "${CTRL_DESKTOP}/konsole.desktop" +ln -s "/media/sf_PiecesNumeriques" "${CTRL_DESKTOP}/PiecesNumeriques" + +chown --recursive "${CTRL_USERNAME}:${CTRL_GROUP}" "${CTRL_DESKTOP}" + + +# +# -------------------- +# Arch User Repository +# -------------------- +# + +aur_install() { + pkg_name="$1" + pkg_build_dir="${CTRL_AUR_BUILD_DIR}/${pkg_name}" + rm -rf "$pkg_build_dir" + sudo --user="$CTRL_USERNAME" git clone "https://aur.archlinux.org/${pkg_name}.git" "$pkg_build_dir" + # Il n'est pas possible d'utiliser `sudo --chdir` avec `makepkg` + cd "$pkg_build_dir" + sudo --user="$CTRL_USERNAME" makepkg --noconfirm + cd - + find "$pkg_build_dir" -maxdepth 1 -name "${pkg_name}-*-x86_64\.pkg\.tar\.zst" -exec pacman --noconfirm --upgrade {} \; + rm -rf "$pkg_build_dir" +} + +# yay +# https://wiki.archlinux.org/title/Arch_User_Repository +# https://wiki.archlinux.org/title/AUR_helpers +# https://aur.archlinux.org/packages/yay-bin +aur_install "yay-bin" + +# ChkRootkit +# https://aur.archlinux.org/packages/chkrootkit +aur_install "chkrootkit" \ No newline at end of file diff --git a/create_vm.bat b/create_vm.bat index 3e27e97..1f92cf9 100755 --- a/create_vm.bat +++ b/create_vm.bat @@ -4,17 +4,17 @@ :: https://www.virtualbox.org/manual/ch08.html :: Récupération des informations -set /p VmName=Indiquez le nom de la VM : +set /p VmName=Indiquez le nom de la machine virtuelle : set /p IsoPath=Indiquez le chemin vers l'image ISO : :: Création de la VM -"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createvm --name "%VmName%" --ostype "Debian_64" --register +"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createvm --name "%VmName%" --ostype "ArchLinux_64" --register :: Paramétrage de la VM "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "%VmName%" --memory 8000 "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "%VmName%" --cpus 2 "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "%VmName%" --pae on -"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "%VmName%" --graphicscontroller vboxsvga +"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "%VmName%" --graphicscontroller vmsvga "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "%VmName%" --nic1 bridged "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "%VmName%" --bridgeadapter1 "Realtek PCIe GbE Family Controller" "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "%VmName%" --usbxhci on @@ -26,7 +26,7 @@ set /p IsoPath=Indiquez le chemin vers l'image ISO : "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createmedium disk --format VDI --size 20000 --filename "%UserProfile%\VirtualBox VMs\%VmName%\%VmName%.vdi" "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach "%VmName%" --storagectl "SATA" --port 0 --device 0 --type hdd --medium "%UserProfile%\VirtualBox VMs\%VmName%\%VmName%.vdi" -:: ISO Debian +:: Image ISO du système "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storagectl "%VmName%" --name "IDE" --add ide --controller PIIX4 "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" storageattach "%VmName%" --storagectl "IDE" --port 1 --device 0 --type dvddrive --medium "%IsoPath%" diff --git a/finalize_install.sh b/finalize_install.sh index 1b7e2ef..1352e28 100644 --- a/finalize_install.sh +++ b/finalize_install.sh @@ -3,22 +3,92 @@ set -euo pipefail IFS=$'\n\t' -# Configuration des scripts -export CTRL_USERNAME="controle" -export CTRL_GROUP="$CTRL_USERNAME" -export CTRL_HOME="/home/$CTRL_USERNAME" -export CTRL_DESKTOP="$CTRL_HOME/Bureau" -export SCRIPTS_ROOT="$CTRL_HOME/post_install" -export COOKIES_LIST_NAME="cnil_cookies_list-2.1.0-fx.xpi" -export COOKIES_LIST_URL="https://github.com/LINCnil/CNIL-Cookies-List/raw/master/release/$COOKIES_LIST_NAME" - -# Lancement des scripts -sudo --preserve-env="CTRL_USERNAME,CTRL_GROUP,CTRL_DESKTOP" bash "$SCRIPTS_ROOT/scripts/repertoire_partage.sh" -bash "$SCRIPTS_ROOT/scripts/firefox.sh" -bash "$SCRIPTS_ROOT/scripts/raccourcis.sh" -sudo --preserve-env="CTRL_DESKTOP" bash "$SCRIPTS_ROOT/scripts/misc.sh" +CTRL_USERNAME="controle" +CTRL_GROUP="$CTRL_USERNAME" +CTRL_HOME="/home/${CTRL_USERNAME}" +CTRL_DESKTOP="${CTRL_HOME}/Bureau" +CTRL_RESULTS_DIR="${CTRL_DESKTOP}/Resultats" +SCRIPTS_ROOT="${CTRL_HOME}/script_data" +COOKIES_LIST_NAME="cnil_cookies_list-2.1.0-fx.xpi" +COOKIES_LIST_URL="https://github.com/LINCnil/CNIL-Cookies-List/raw/master/release/$COOKIES_LIST_NAME" + +copy_file() { + sudo install --verbose --group="$CTRL_GROUP" --owner="$CTRL_USERNAME" "$1" "$2" +} + + +# +# ------------------ +# Agencement clavier +# ------------------ +# + +sudo localectl set-x11-keymap fr +sudo localectl set-keymap fr + + +# +# ------- +# Firefox +# ------- +# + +# Installation de CNIL Cookies List +wget "$COOKIES_LIST_URL" -O "${CTRL_HOME}/${COOKIES_LIST_NAME}" +firefox "${CTRL_HOME}/${COOKIES_LIST_NAME}" + +# Récupération du chemin vers le profil FireFox +CTRL_MOZ_HOME="${CTRL_HOME}/.mozilla/firefox" +PROFILE_NAME=$(cat "$CTRL_MOZ_HOME/profiles.ini" | grep Path= | grep release | sed "s/Path=//") +CTRL_MOZ_PROFILE="${CTRL_MOZ_HOME}/${PROFILE_NAME}" + +# Modification des moteurs de recherche +copy_file "${SCRIPTS_ROOT}/cnf/search.json.mozlz4" "${CTRL_MOZ_PROFILE}/search.json.mozlz4" + +# Configuration des paramètres +# Le fichier user.js n'existe pas de base mais est géré par firefox. +# Il n'est jamais modifié et s'appliquera a chaque ouverture +# https://developer.mozilla.org/en-US/docs/Mozilla/Preferences/A_brief_guide_to_Mozilla_preferences#Changing_defaults +copy_file "${SCRIPTS_ROOT}/cnf/user.js" "${CTRL_MOZ_PROFILE}/user.js" + + +# +# ------------- +# Anti-malwares +# ------------- +# + +mkdir -p "$CTRL_RESULTS_DIR" + +# Rkhunter +# https://wiki.archlinux.org/title/Rkhunter +# TODO : remettre rkhunter (y compris dans le `pacstrap`) une fois le bug corrigé, si un jour il est corrigé (dernière version datant de 2018). +# https://bugs.archlinux.org/task/75898?tasks=&type=&sev=&due=&%3Bstatus=all&order2=&sort2=desc&date=0 +# https://sourceforge.net/p/rkhunter/bugs/176/ +#rkhunter --propupd +#rkhunter --update +#rkhunter --check --sk >"${CTRL_RESULTS_DIR}/Rkhunter.txt" + +# ChkRootkit +# https://fr.wikipedia.org/wiki/Chkrootkit +sudo chkrootkit >"${CTRL_RESULTS_DIR}/ChkRootkit.txt" + +# ClamAV +# https://wiki.archlinux.org/title/ClamAV +sudo freshclam +sudo clamscan >"${CTRL_RESULTS_DIR}/ClamScan.txt" + +# Correction des droits sur le dossier de résultats et son contenu +sudo chown --recursive "${CTRL_USERNAME}:${CTRL_GROUP}" "$CTRL_RESULTS_DIR" + + +# +# --------- # Nettoyage -sudo rm -rf "$SCRIPTS_ROOT" "/root/.bash_history" "$CTRL_HOME/.bash_history" "$CTRL_HOME/.config/autostart" +# --------- +# + +sudo rm -rf "/root/.bash_history" "$CTRL_HOME/.bash_history" "$CTRL_HOME/.config/autostart" "$SCRIPTS_ROOT" echo "Installation terminée. Appuyez sur pour fermer." read diff --git a/preseed.cfg b/preseed.cfg deleted file mode 100644 index 484ab2b..0000000 --- a/preseed.cfg +++ /dev/null @@ -1,192 +0,0 @@ -#url source de l'exemple : https://www.debian.org/releases/stable/example-preseed.txt -#exemple complet des paquets : https://www.aplu.fr/v2/public/preseed-all.txt - -######################## -### Configuration localisation -######################## - -# Preseeding only locale sets language, country and locale. -d-i debian-installer/locale string fr_FR.UTF-8 - -######################## -# Configuration clavier. -######################## - -d-i keyboard-configuration/xkb-keymap select fr(latin9) - -######################## -### Configuration réseau -######################## - -# netcfg will choose an interface that has link if possible. This makes it -# skip displaying a list if there is more than one interface. -d-i netcfg/choose_interface select auto - -# Nom de machine : -netcfg netcfg/get_hostname string controle -# Domaine : -netcfg netcfg/get_domain string home -### Mirror settings -d-i mirror/protocol string http -d-i mirror/http/hostname string ftp.fr.debian.org -d-i mirror/http/directory string /debian/ -d-i mirror/http/proxy string - -######################## -### Comptes -######################## - -# Password root, en clair -d-i passwd/root-password password Cnil1978! -d-i passwd/root-password-again password Cnil1978! -# Compte utilisateur -d-i passwd/user-fullname string controle -d-i passwd/username string controle -# Password utilisateur en clair -d-i passwd/user-password password Cnil1978! -d-i passwd/user-password-again password Cnil1978! - -#Test, ajout de l'utilisateur dans les groupes "de base" + sudo -d-i passwd/user-default-groups string audio cdrom dip floppy video plugdev netdev bluetooth lpadmin sudo -#Wireshark et Vboxsf n'existe pas à ce moment -#wireshark vboxsf - -######################## -### Horloge/Temps -######################## - -# Controls whether or not the hardware clock is set to UTC. -d-i clock-setup/utc boolean true -# TimeZone, voir /usr/share/zoneinfo pour les options possibles -d-i time/zone string Europe/Paris -# Active NTP -d-i clock-setup/ntp boolean true -# Serveur NTP utilisé -d-i clock-setup/ntp-server string ntp.inria.fr - -######################## -### Partitionnement du disque -######################## - -# In addition, you'll need to specify the method to use. -# The presently available methods are: -# - regular: use the usual partition types for your architecture -# - lvm: use LVM to partition the disk -# - crypto: use LVM within an encrypted partition -d-i partman-auto/method string regular -# Alternatively, you may specify a disk to partition. If the system has only -# one disk the installer will default to using that, but otherwise the device -# name must be given in traditional, non-devfs format (so e.g. /dev/sda -# and not e.g. /dev/discs/disc0/disc). -# For example, to use the first SCSI/SATA hard disk: -d-i partman-auto/disk string /dev/sda -# You can choose one of the three predefined partitioning recipes: -# - atomic: all files in one partition -# - home: separate /home partition -# - multi: separate /home, /var, and /tmp partitions -d-i partman-auto/choose_recipe select atomic -# This makes partman automatically partition without confirmation, provided -# that you told it what to do using one of the methods above. -d-i partman-partitioning/confirm_write_new_label boolean true -d-i partman/choose_partition select finish -d-i partman/confirm boolean true -d-i partman/confirm_nooverwrite boolean true - -######################## -### Configuration APT -######################## - -# Ajout des soft contrib et non-free -d-i apt-setup/non-free boolean true -d-i apt-setup/contrib boolean true -# Désactiver les lignes deb-src -d-i apt-setup/enable-source-repositories boolean false - -######################## -### Installation de packages -######################## - -# Choices: environnement de bureau Debian, KDE et utilitaires usuels -tasksel tasksel/first multiselect standard, desktop, kde-desktop - -# Packages supplémentaires à installer -d-i pkgsel/include string vim wipe rkhunter clamav chkrootkit gtk2-engines-qtcurve gtk-theme-switch zenity wireshark build-essential make linux-headers-amd64 chromium chromium-l10n dnsutils whois flatpak nmap dkms -#build-essential openssh-server -# Whether to upgrade packages after debootstrap. -# Allowed values: none, safe-upgrade, full-upgrade -#d-i pkgsel/upgrade select none - -# Souhaitez-vous participer à l'étude statistique sur l'utilisation des paquets ? -#d-i popularity-contest/participate boolean false -popularity-contest popularity-contest/participate boolean false - -######################## -### Installation de GRUB -######################## - -# This is fairly safe to set, it makes grub install automatically to the MBR -# if no other operating system is detected on the machine. -d-i grub-installer/only_debian boolean true -# Installer le programme de démarrage GRUB sur le secteur d'amorçage ? -d-i grub-installer/with_other_os boolean true -# Choices: Choix manuel du périphérique, /dev/sda -grub-installer grub-installer/choose_bootdev string /dev/sda - - -######################## -#### Advanced options -######################## - -# Depending on what software you choose to install, or if things go wrong -# during the installation process, it's possible that other questions may -# be asked. You can preseed those too, of course. To get a list of every -# possible question that could be asked during an install, do an -# installation, and then run these commands: -# debconf-get-selections --installer > file -# debconf-get-selections >> file - -### Running custom commands during the installation -# d-i preseeding is inherently not secure. Nothing in the installer checks -# for attempts at buffer overflows or other exploits of the values of a -# preconfiguration file like this one. Only use preconfiguration files from -# trusted locations! To drive that home, and because it's generally useful, -# here's a way to run any shell command you'd like inside the installer, -# automatically. - -# This command is run just before the install finishes, but when there is -# still a usable /target directory. You can chroot to /target and use it -# directly, or use the apt-install and in-target commands to easily install -# packages and run commands in the target system. -d-i preseed/late_command string \ - in-target chsh -s /bin/bash; \ - in-target mkdir -p /home/controle/.config/autostart; \ - in-target chown -R controle:controle /home/controle/.config; \ - in-target mkdir -p /home/controle/post_install; \ - cp -r /media/scripts /target/home/controle/post_install/; \ - cp -r /media/cnf /target/home/controle/post_install/; \ - cp /media/finalize_install.sh /target/home/controle/post_install/; \ - cp /media/cnf/auto_install.desktop /target/home/controle/.config/autostart/; \ - in-target chown -R controle:controle /home/controle/post_install; \ - in-target systemctl enable systemd-timesyncd.service; - -#Retour : -#in-target redirige tous les outputs de fonctions vers le fichier des logs, pour pouvoir echo, utiliser -#in-target --pass-stdout echo "coucou" > /target/repertoire - -#in-target ne fait pas la redirection dans la 2ème partie de commande du genre -#in-target --pass-stdout echo "echo" > /repertoire -#Il faut donc rajouter le /target devant : -#in-target --pass-stdout echo "youhou" > /target/repertoire - -#A ce moment de l'installation, le bureau n'est pas monté. -#Essayer de passer quelque chose dessus fera planter la commande avec un retour dans les logs -#"can't create /home/controle/Bureau/: nonexistent directory" - - - -######################## -### Finishing up the installation -######################## - -# Avoid that last message about the install being complete. -d-i finish-install/reboot_in_progress note diff --git a/scripts/misc.sh b/scripts/misc.sh deleted file mode 100644 index d22d4f6..0000000 --- a/scripts/misc.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -IFS=$'\n\t' - -# Mise à jour du système -apt update -apt -y dist-upgrade -apt clean - -# WireShark -dpkg-reconfigure wireshark-common -usermod -a -G wireshark controle - -# Bash -sed -i 's/^#if/if/' /etc/bash.bashrc -sed -i 's/^# if/ if/' /etc/bash.bashrc -sed -i 's/^# . \/us/ . \/us/' /etc/bash.bashrc -sed -i 's/^# elif/ elif/' /etc/bash.bashrc -sed -i 's/^# . \/et/ . \/et/' /etc/bash.bashrc -sed -i 's/^# fi/ fi/' /etc/bash.bashrc -sed -i 's/^#fi/fi/' /etc/bash.bashrc - -# Anti-malwares -mkdir -m777 -p "$CTRL_DESKTOP/Resultats" -rkhunter -c -sk >> "$CTRL_DESKTOP/Resultats/Rkhunter.txt" -chkrootkit >> "$CTRL_DESKTOP/Resultats/ChkRootkit.txt" -systemctl stop clamav-freshclam.service -freshclam -touch /etc/clamav/clamd.conf -clamscan -r >> "$CTRL_DESKTOP/Resultats/ClamScan.txt" -systemctl disable clamav-freshclam.service diff --git a/scripts/raccourcis.sh b/scripts/raccourcis.sh deleted file mode 100644 index c173b5e..0000000 --- a/scripts/raccourcis.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -set -euo pipefail -IFS=$'\n\t' - -APPS_ROOT="/usr/share/applications" - -shortcut() { - install --group="$CTRL_GROUP" --owner="$CTRL_USERNAME" "$1" "$2" -} - -cat >"$CTRL_DESKTOP/trash.desktop" << EOF -[Desktop Entry] -EmptyIcon=user-trash -Icon=user-trash-full -Name=Corbeille -Type=Link -URL[\$e]=trash:/ -EOF - -shortcut "$APPS_ROOT/org.wireshark.Wireshark.desktop" "$CTRL_DESKTOP/" -shortcut "$SCRIPTS_ROOT/cnf/firefox.desktop" "$CTRL_DESKTOP/" -shortcut "$APPS_ROOT/chromium.desktop" "$CTRL_DESKTOP/" -shortcut "$APPS_ROOT/org.kde.spectacle.desktop" "$CTRL_DESKTOP/" -shortcut "$APPS_ROOT/org.kde.konsole.desktop" "$CTRL_DESKTOP/konsole.desktop" -shortcut "$APPS_ROOT/org.kde.konsole.desktop" "$CTRL_DESKTOP/konsole_admin.desktop" -sed -i 's/^Exec=konsole/Exec=konsole -e "su -"/' "$CTRL_DESKTOP/konsole_admin.desktop" -sed -i 's/Konsole/KonsoleAdmin/' "$CTRL_DESKTOP/konsole_admin.desktop" diff --git a/scripts/repertoire_partage.sh b/scripts/repertoire_partage.sh deleted file mode 100644 index 5e68ca6..0000000 --- a/scripts/repertoire_partage.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -ISO_MOUNT_DIR="/media/vbox_guest_additions" - -# Montage automatique du dossier partagé -echo "PiecesNumeriques $CTRL_DESKTOP/PartagePiecesNumeriques vboxsf defaults,_netdev 0 0" >>"/etc/fstab" - -# Installation des paquets -# apt install -y virtualbox-guest-additions-iso - -# Création des répertoires -mkdir -p "$ISO_MOUNT_DIR" -mkdir -p "$CTRL_DESKTOP/PartagePiecesNumeriques" -chown -R "$CTRL_USERNAME:$CTRL_GROUP" "$CTRL_DESKTOP/PartagePiecesNumeriques" - -# Montage du CD des extensions VirtualBox -#mount -o ro "/usr/share/virtualbox/VBoxGuestAdditions.iso" "$ISO_MOUNT_DIR" -mount "/dev/sr0" "$ISO_MOUNT_DIR" - -# Installation des extensions VirtualBox -"$ISO_MOUNT_DIR/VBoxLinuxAdditions.run" - -exit 0