3
This commit is contained in:
@@ -70,14 +70,28 @@ Exemples:
|
||||
EOF
|
||||
}
|
||||
|
||||
bootstrap_print_session_context() {
|
||||
ui_info "Utilisateur courant : $(id -un) (uid $(id -u))"
|
||||
ui_info "Mode de privileges : $(system_privilege_mode)"
|
||||
|
||||
if [[ "${EUID:-$(id -u)}" -eq 0 ]]; then
|
||||
ui_info "Utilisateur d'origine : $(system_origin_user)"
|
||||
fi
|
||||
}
|
||||
|
||||
bootstrap_run() {
|
||||
bootstrap_parse_args "$@" || exit 1
|
||||
|
||||
if [[ "${EUID:-$(id -u)}" -ne 0 ]]; then
|
||||
system_reexec_as_root "$@" || exit 1
|
||||
fi
|
||||
|
||||
runtime_init "$BOOTSTRAP_ROOT"
|
||||
log_init
|
||||
|
||||
ui_header "Postinstall Debian"
|
||||
ui_info "Initialisation du framework"
|
||||
bootstrap_print_session_context
|
||||
|
||||
system_require_bash
|
||||
system_require_debian
|
||||
|
||||
+74
-2
@@ -25,6 +25,21 @@ dispatcher_prompt_and_run_module() {
|
||||
local share_public=""
|
||||
local archive_name=""
|
||||
local docker_data_dir=""
|
||||
local ftp_port=""
|
||||
local ftp_anonymous=""
|
||||
local ftp_local=""
|
||||
local ftp_write=""
|
||||
local ftp_root=""
|
||||
local bitwarden_server_url=""
|
||||
local bitwarden_email=""
|
||||
local bitwarden_target_user=""
|
||||
local bitwarden_install_cli=""
|
||||
local bitwarden_install_desktop=""
|
||||
local bitwarden_install_firefox=""
|
||||
local bitwarden_install_chromium=""
|
||||
local bitwarden_install_google_chrome=""
|
||||
local bitwarden_login_now=""
|
||||
local bitwarden_uri_mode=""
|
||||
local default_nfs_ids=""
|
||||
local nfs_entry=""
|
||||
local nfs_item_id=""
|
||||
@@ -63,8 +78,11 @@ dispatcher_prompt_and_run_module() {
|
||||
dispatcher_run_module "$module_id" "$target_user" "$selected_groups"
|
||||
;;
|
||||
network/ssh-server)
|
||||
ui_section "Configuration SSH"
|
||||
ssh_port="$(prompt_read_default "Port SSH" "${POSTINSTALL_SSH_PORT:-22}")"
|
||||
ui_info "L'authentification par mot de passe simplifie l'acces, mais elle est moins sure que les cles SSH."
|
||||
ssh_password_auth="$(prompt_confirm_default "Autoriser l'authentification par mot de passe" "${POSTINSTALL_SSH_PASSWORD_AUTH:-yes}")"
|
||||
ui_info "Autoriser root en SSH est pratique pour depanner, mais augmente le risque en cas d'exposition reseau."
|
||||
ssh_root_login="$(prompt_confirm_default "Autoriser la connexion root SSH" "${POSTINSTALL_SSH_ROOT_LOGIN:-no}")"
|
||||
dispatcher_run_module "$module_id" "$ssh_port" "$ssh_password_auth" "$ssh_root_login"
|
||||
;;
|
||||
@@ -79,8 +97,12 @@ dispatcher_prompt_and_run_module() {
|
||||
dispatcher_run_module "$module_id" "$host_name" "$domain_name"
|
||||
;;
|
||||
network/ip-config)
|
||||
ui_section "Configuration IP"
|
||||
iface="$(prompt_read_default "Interface reseau" "${POSTINSTALL_NETWORK_IP_DEFAULT_INTERFACE:-$(system_primary_interface)}")"
|
||||
ip_mode="$(prompt_read_default "Mode reseau (dhcp ou static)" "${POSTINSTALL_NETWORK_IP_DEFAULT_MODE:-dhcp}")"
|
||||
ip_mode="$(prompt_select_described_from_list \
|
||||
"Mode reseau" \
|
||||
"dhcp|La box ou le routeur attribue automatiquement l'adresse IP." \
|
||||
"static|Vous fixez manuellement l'adresse IP, la passerelle et le DNS.")"
|
||||
if [[ "$ip_mode" == "static" ]]; then
|
||||
ip_address="$(prompt_read_default "Adresse IP" "${POSTINSTALL_NETWORK_IP_DEFAULT_ADDRESS:-10.0.0.10}")"
|
||||
ip_prefix="$(prompt_read_default "Prefixe CIDR" "${POSTINSTALL_NETWORK_IP_DEFAULT_PREFIX:-22}")"
|
||||
@@ -97,7 +119,10 @@ dispatcher_prompt_and_run_module() {
|
||||
network/nfs-client)
|
||||
# shellcheck source=/dev/null
|
||||
source "$RUNTIME_PROJECT_ROOT/modules/network/nfs-client/module.sh"
|
||||
nfs_action="$(prompt_select_from_list "Action NFS client" "activer des partages" "desactiver des partages")"
|
||||
nfs_action="$(prompt_select_described_from_list \
|
||||
"Action NFS client" \
|
||||
"activer des partages|Ajoute les partages choisis dans fstab et peut les monter immediatement." \
|
||||
"desactiver des partages|Retire les partages choisis de fstab et tente de les demonter.")"
|
||||
nfs_item_labels=()
|
||||
nfs_item_ids=()
|
||||
if [[ "$nfs_action" == "desactiver des partages" ]]; then
|
||||
@@ -208,6 +233,53 @@ dispatcher_prompt_and_run_module() {
|
||||
docker_data_dir="$(prompt_read_default "Dossier Docker" "/home/${target_user}/docker")"
|
||||
dispatcher_run_module "$module_id" "$target_user" "$docker_data_dir"
|
||||
;;
|
||||
network/ftp-server)
|
||||
ui_section "Configuration FTP"
|
||||
ftp_port="$(prompt_read_default "Port FTP" "21")"
|
||||
ui_info "L'acces anonyme ouvre le serveur sans compte local. A n'activer que sur un reseau de confiance."
|
||||
ftp_anonymous="$(prompt_confirm_default "Autoriser l'acces anonyme" "no")"
|
||||
ui_info "L'acces local permet aux comptes du systeme de se connecter au serveur FTP."
|
||||
ftp_local="$(prompt_confirm_default "Autoriser les utilisateurs locaux" "yes")"
|
||||
ui_info "L'ecriture permet l'envoi, la suppression ou la modification de fichiers."
|
||||
ftp_write="$(prompt_confirm_default "Autoriser l'ecriture" "no")"
|
||||
ftp_root="$(prompt_read_default "Dossier racine FTP" "/home/gilles")"
|
||||
dispatcher_run_module "$module_id" "$ftp_port" "$ftp_anonymous" "$ftp_local" "$ftp_write" "$ftp_root"
|
||||
;;
|
||||
passwords/bitwarden)
|
||||
ui_section "Configuration Bitwarden"
|
||||
bitwarden_server_url="$(prompt_read_default "URL du serveur Bitwarden auto-heberge" "https://vw.maison43.duckdns.org")"
|
||||
bitwarden_email="$(prompt_read_default "Adresse e-mail Bitwarden" "gil.soulier@gmail.com")"
|
||||
bitwarden_target_user="$(prompt_read_default "Utilisateur local a configurer" "${POSTINSTALL_DEFAULT_USER:-gilles}")"
|
||||
bitwarden_install_cli="$(prompt_confirm_default "Installer Bitwarden CLI" "yes")"
|
||||
bitwarden_install_desktop="$(prompt_confirm_default "Installer l'application desktop Bitwarden" "yes")"
|
||||
ui_info "Firefox peut etre preconfigure avec une politique systeme pour ton serveur Bitwarden."
|
||||
bitwarden_install_firefox="$(prompt_confirm_default "Configurer l'extension Firefox Bitwarden" "yes")"
|
||||
ui_info "Chromium et Chrome peuvent recevoir une politique systeme pour forcer l'extension et le serveur."
|
||||
bitwarden_install_chromium="$(prompt_confirm_default "Configurer l'extension Chromium Bitwarden" "yes")"
|
||||
bitwarden_install_google_chrome="$(prompt_confirm_default "Configurer aussi l'extension Google Chrome Bitwarden" "yes")"
|
||||
bitwarden_login_now="no"
|
||||
if [[ "$bitwarden_install_cli" == "yes" ]]; then
|
||||
ui_info "Le mot de passe maitre ne sera pas stocke. Il sera saisi une seule fois si tu choisis la connexion immediate."
|
||||
bitwarden_login_now="$(prompt_confirm_default "Connecter le CLI Bitwarden tout de suite" "no")"
|
||||
fi
|
||||
bitwarden_uri_mode="$(prompt_select_described_from_list \
|
||||
"Detection de correspondance URI conseillee" \
|
||||
"host|Adapte aux serveurs locaux et sous-domaines. Recommande pour ton usage." \
|
||||
"base domain|Plus large, utile pour de grands domaines publics." \
|
||||
"exact|Ne correspond que si l'URL est exactement identique.")"
|
||||
dispatcher_run_module \
|
||||
"$module_id" \
|
||||
"$bitwarden_server_url" \
|
||||
"$bitwarden_email" \
|
||||
"$bitwarden_target_user" \
|
||||
"$bitwarden_install_cli" \
|
||||
"$bitwarden_install_desktop" \
|
||||
"$bitwarden_install_firefox" \
|
||||
"$bitwarden_install_chromium" \
|
||||
"$bitwarden_install_google_chrome" \
|
||||
"$bitwarden_login_now" \
|
||||
"$bitwarden_uri_mode"
|
||||
;;
|
||||
*)
|
||||
dispatcher_run_module "$module_id"
|
||||
;;
|
||||
|
||||
+10
-1
@@ -5,8 +5,17 @@ RUNTIME_LOG_DIR=""
|
||||
RUNTIME_LOG_FILE=""
|
||||
|
||||
runtime_init() {
|
||||
local uid_suffix=""
|
||||
|
||||
RUNTIME_PROJECT_ROOT="$1"
|
||||
RUNTIME_LOG_DIR="${TMPDIR:-/tmp}/postinstall-debian"
|
||||
|
||||
if [[ "${EUID:-$(id -u)}" -eq 0 ]]; then
|
||||
RUNTIME_LOG_DIR="${TMPDIR:-/tmp}/postinstall-debian"
|
||||
else
|
||||
uid_suffix="$(id -u)"
|
||||
RUNTIME_LOG_DIR="${TMPDIR:-/tmp}/postinstall-debian-$uid_suffix"
|
||||
fi
|
||||
|
||||
RUNTIME_LOG_FILE="$RUNTIME_LOG_DIR/install.log"
|
||||
mkdir -p "$RUNTIME_LOG_DIR"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user