101 lines
3.4 KiB
Bash
101 lines
3.4 KiB
Bash
#!/bin/bash
|
|
|
|
################# CONFIGURATION
|
|
|
|
# Définissez la clé publique RSA
|
|
cle_publique="CLE rsa public"
|
|
|
|
# Définissez l'utilisateur
|
|
utilisateur="Utilisateur"
|
|
|
|
################
|
|
|
|
# Vérifie si l'utilisateur est root (gid 0)
|
|
if [ "$(id -u)" -eq 0 ]; then
|
|
echo "Le script est en cours d'exécution en tant que root."
|
|
# Placez ici les commandes que vous souhaitez exécuter en tant que root
|
|
else
|
|
echo "Ce script doit être exécuté en tant que root."
|
|
exit 1
|
|
fi
|
|
|
|
# Ajouter le chemin au fichier /root/.bashrc
|
|
echo 'export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin' >> /root/.bashrc
|
|
source /root/.bashrc
|
|
|
|
# Commenter la première ligne du fichier /etc/apt/sources.list
|
|
sed -i '1s/^/#/' /etc/apt/sources.list
|
|
echo "Première ligne de /etc/apt/sources.list commentée"
|
|
|
|
echo "Optimisation du démarrage avec GRUB"
|
|
sed -i '7s/.*/GRUB_TIMEOUT=0/' /etc/default/grub
|
|
update-grub > /dev/null 2>&1
|
|
|
|
echo "Mise à jour de la distribution"
|
|
# Mettre à jour la liste des paquets
|
|
apt update > /dev/null 2>&1
|
|
# Update
|
|
apt ugrade -y > /dev/null 2>&1
|
|
|
|
echo "Installation de : Vim, Python3, UFW, Nano, Curl, Wget, Sudo et Nano"
|
|
# Installer les paquets Vim, UFW, Nano, Curl et Wget
|
|
apt install -y vim python3 ufw nano curl wget nano sudo > /dev/null 2>&1
|
|
|
|
echo "Ajouter utilisateur dans sudoers"
|
|
# Ajouter utilisateur dans sudoers
|
|
echo "$utilisateur ALL=(ALL:ALL) ALL" | tee -a /etc/sudoers > /dev/null 2>&1
|
|
|
|
echo "Installation de node exporter"
|
|
curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest|grep browser_download_url|grep linux-amd64|cut -d '"' -f 4|wget -qi - > /dev/null 2>&1
|
|
mkdir /etc/prometheus > /dev/null 2>&1
|
|
tar -xvf node_exporter-*.linux-amd64.tar.gz > /dev/null 2>&1
|
|
mv node_exporter-*.linux-amd64/ /etc/prometheus/node_exporter > /dev/null 2>&1
|
|
|
|
cat <<EOF > /etc/systemd/system/node_exporter.service
|
|
[Unit]
|
|
Description=Node Exporter
|
|
Wants=network-online.target
|
|
After=network-online.target
|
|
|
|
[Service]
|
|
User=prometheus
|
|
ExecStart=/etc/prometheus/node_exporter/node_exporter
|
|
|
|
[Install]
|
|
WantedBy=default.target
|
|
EOF
|
|
|
|
useradd --no-create-home --shell /bin/false prometheus > /dev/null 2>&1
|
|
chown -R prometheus:prometheus /etc/prometheus/node_exporter > /dev/null 2>&1
|
|
systemctl daemon-reload > /dev/null 2>&1
|
|
systemctl enable --now node_exporter > /dev/null 2>&1
|
|
|
|
#Définition de UFW
|
|
echo "Configuration du firewall"
|
|
echo "y" | ufw enable > /dev/null 2>&1
|
|
ufw allow 22 > /dev/null 2>&1
|
|
ufw allow 9100 > /dev/null 2>&1
|
|
ufw reload > /dev/null 2>&1
|
|
|
|
echo "Installation de la clé RSA"
|
|
# Ajoutez la clé publique au fichier authorized_keys
|
|
mkdir /home/$utilisateur/.ssh
|
|
chown -R $utilisateur:$utilisateur /home/$utilisateur/.ssh
|
|
chmod 700 /home/$utilisateur/.ssh
|
|
echo "$cle_publique" >> /home/$utilisateur/.ssh/authorized_keys
|
|
chown -R $utilisateur:$utilisateur /home/$utilisateur/.ssh/authorized_keys
|
|
chmod 600 /home/$utilisateur/.ssh/authorized_keys
|
|
|
|
echo "Configuration de ssh"
|
|
# Ajouter "PasswordAuthentication no" à la ligne 57 de /etc/ssh/sshd_config
|
|
sed -i '57s/.*/PasswordAuthentication no/' /etc/ssh/sshd_config > /dev/null 2>&1
|
|
systemctl restart sshd > /dev/null 2>&1
|
|
|
|
echo "Installation des agents XenServer"
|
|
curl -s https://api.github.com/repos/xenserver/xe-guest-utilities/releases/latest|grep browser_download_url|grep amd64|cut -d '"' -f 4|wget -qi - > /dev/null 2>&1
|
|
apt install -f ./xe-guest-utilities_*_amd64.deb > /dev/null 2>&1
|
|
|
|
echo "Suppression des fichiers et dossier de configuration"
|
|
rm -rf xe-guest-utilities_*_amd64.deb
|
|
rm -rf node_exporter-*.linux-amd64.tar.gz
|