Lister les adresses ip affectées aux cartes réseau $ ip addr Afficher la table de routage $ ip route show Affecter une adresse IP statique -------------------------------- S'assurer que l'adresse IP n'est pas gérée par cloudinit $ sudo cat /etc/cloud/Cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg Cela devrait afficher le texte network: [config: disabled] Sauveagrder la configuration actuelle du réseau par $ sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.copy Editer ensuite le fichier par nano. Le contenu devrait ressembler à ceci network: version: 2 ethernets: addresses: - 192.168.x.y/24 gateway4: 192.168.1.1 nameservers: addresses: 8.8.8.8 search: [] Une fois la configuration sauvegardée, il faut l'appliquer par la commande $ sudo netplan apply
Gestion des paquets
-------------------
Installer un package
$ sudo apt install
Utiliser SSH
-------------
$ sudo apt install openssh-server
$ sudo nano /etc/ssh/sshd_config
Décommenter la ligne du #Port 22
Décommenter ou ajouter la ligne PermitRootLogin no
$ sudo systemctl restart ssh
Pour se connecter à Ubuntu par ssh
Linux :
Ouvrir un terminal et faire
ssh
Installation d'une GUI sur le serveur
-------------------------------------
$ sudo apt install xfce4 xfce4-goodies tightvncserver
Durant l'installation, choisir gdm3 en tant que gestionnaire de login
Pour configurer le serveur vnc :
$ sudo vncserver
Saisir le mot de passe pour la connexion VNC
Ensuite il faut stopper la session 1 du serveur vnc et faire une copie du fichier de configuration
$ sudo vncserver -kill :1
$ cp ~/.vnc/xstartup ~/.vnc/xstartup.copy
Nous éditons le fichier xstartup de vnc pour ajouter la ligne startxfce4 & à la fin du fichier
$ nano ~/.vnc/xstartup
Ajouter la ligne startxfce4 &
$ chmod +x ~/.vnc/xstartup
Relancer le serveur vnc par
$ vncserver
Il nous reste à ouvrir le port 5900 dans le firewall
$ sudo ufw allow 5900
Depuis Windows, installer un viewer VNC (vnc viewer download sur google)
Attention, sous Linux il peut y avoir plusieurs dispays. Spécifier
Transfert de fichiers vers le serveur Ubuntu
--------------------------------------------
Sous Windows, nous pouvons utiliser l'utilitaire WinSCP (https://winscp.net)
Cela permet de se connecter à travers une connexion SSH.
Il suffit de l'installer et de se connecter sur le port 22
Depuis un client Linux, avec un terminal
$ scp -P 22 hello.txt
Gestion du stockage
-------------------
Liste des disques et partitions disponibles
$ sudo fdisk -l
Affichage de l'espace occupé par les devices et les mountpoints
$ sudo df -lh
Création d'une partition sur le device /dev/sdb
$ sudo fdisk /dev/sdb
Formatage de la partition en EXT4
$ sudo mkfs.ext4 /dev/sdb1
Une partition doit être montée sur un mountpoint
$ sudo mkdir /mnt/usbdisk
$ sudo mount /dev/sbd1 /mnt/usbdisk
Pour le montage automatique au démarrage, le système vérifie le contenu de fstab.
Il s'agit pour nous de créer ce mountpoint dans ce fichier.
Pour cela nous allons avoir besoin du UUID de la partition
$ sudo blkid
La commande nous liste les UUID. Il nous suffit de prendre ce UUID et de le copier dans le fichier fstab
$ sudo nano /etc/fstab
UUID=
Gestion des accès utilisateur ----------------------------- Accès root ---------- Par défaut sous Ubuntu le user root est désactivé (comme précisé dans le fichier /etc/shadow avec le symbole '*' dans le second champ). Pour le réactiver, il suffit de lui affecter un mot de passe $ sudo passwd La connexion en tant que root se fait par $ su - Pour désactiver l'accès root$ sudo passwd -l root Autres utilisateurs ------------------- $ whoami Ajout d'un utilisateur $ sudo adduser jdoe $ sudo addgroup jdoe sudo Lister les utilisateurs du système $ cat /etc/passwd Lister les utilisateurs appartenant à un groupe $ groups jdoe Suppression de l'appartance au groupe sudo $ sudo delgroup jdoe sudo Suppression de l'utilisateur $ sudo deluser jdoe Attention: par défaut, la suppression d'un utilisateur ne retire pas son dossier de profil dans le système. $ cd /home/ && ls -l Suppression du dossier de profil $ sudo rm -rf jdoe Suppresion de la référence $ sudo deluser jdoe Désactiver le compte $ sudo passwd -l Réactiver le compte $ sudo passwd -u Affichage de la dernière connexion de l'utilisateur $ sudo last Affiche le nom de l'utilisateur, le tty, de quel endroit la connexion a été réalisée Affichage des horaires de connexion d'un utilisateur $ w Pour déconnecter un utilisateur : $ ps -aux | grep jdoe La commande précédente permet d'afficher la liste des processus pour un utilisateur donné Admettons que l'affichage monter la ligne suivante : jdoe 29510 sshd: jdoe@pts/1 Pour déconnecter l'utilisateur, nous faisons simplement un $ sudo kill 29510
Gestion du firewall ------------------- Par défaut le firewall du serveur Ubuntu est désactivé. Il est possible d'utiliser UFW ou FIREWALLD pour cette tâche de protection du système Exemple avec FIREWALLD Installation du package firewalld $ sudo apt install firewalld $ sudo systemctl start firewalld $ sudo systemctl enable firewalld La configuration des règles s'effectue avec la commande firewall-cmd Activation de la règle pour le SSH sur le port 22 standard (configuré dans /etc/ssh/sshd_config) $ sudo firewall-cmd --permanent --add-port=22/tcp Autorisation de HTTP et HTTPS $ sudo firewall-cmd --permanent --add-service=http $ sudo firewall-cmd --permanent --add-service=https Prise en compte des nouvelles directives $ sudo firewall-cmd --reload Lister toutes les règles permanentes $ sudo firewall-cmd --permanent --list-all Firewall UFW (uncomplicated firewall) ------------------------------------- Activation du firewall (désactivé par défaut dans le système) $ sudo enable ufw Autorise le port 22 (SSH) $ sudo ufw allow 22 Autorise le port 80/tcp ( = http) $ sudo ufw allow http Interdit le passage du flux 80/tcp $ sudo ufw deny http Supprime une règle du firewall $ sudo ufw delete deny http Affichage de l'état du firewall [avec des numéros si besoin] $ sudo ufw status [numbered] Autorisation du protocole tcp depuis le port 10.0.0.2 au port 22 $ sudo ufw allow proto tcp from 10.0.0.12 to any port 22 Donner accès à tous les ordinateurs du réseau sur le protocole 80 $ sudo ufw allow proto tcp from 10.0.0.0/24 to any port http Activation des logs du firewall $ sudo ufw logging on Les logs sont dans /var/log/auth.log
Installer l'outil neofetch (sudo apt install neofetch) qui permet d'obtenir les informations relatives au type de serveur, OS, résolution, shell, cpu, ram, ... en mode semi graphique. Un peu comme bginfo mais pas en fond d'écran...
Monitoring ---------- Ressources systèmes avec top Possibilité de killer un process en tapant k (pour kill) et en précisant le PID Un appui sur h affiche une page d'aide Un appui sur la touche 'u' permet d'afficher les processus pour l'utilisateur précisé L'intérêt de la commande top est de pouvoir s'exécuter dans un mode batch avec $ top -n 3 -b >> top.txt avec les options -n pour le nombre de snapshots et -b pour le mode batch Processus en cours d'exécution avec ps --------------------------------------- Par défaut, la commande ps n'affiche que le processus bash et ps, avec le Process ID et le tty depuis lequel la commande a été lancée. Pour ajouter des informations, lancerps -f (pour full)
.
Cela affichera en plus le Process ID du parent (le processus depuis lequel vous avez lancé les commandes par exemple) ainsi que le nom de l'utilisateur.
Pour afficher l'intégralité des processus, utilisez la commande ps -ef | more (car oui, il y a beaucoup de processus dans le système)
.
Pour que l'affichage soit plus sexy, utilisez ps -ef --forest | more
qui symboliquement fera l'affichage
sous forme d'un arbre de précédence des processus.
Enfin pour afficher uniquement les processus de votre utilisateur (ou de clui fourni en paramètre) :
ps -fu [loginname] | more
.
Pour afficher les éléments relatifs à un processus en particulier : ps -fC processname (comme sshd, bash, ...)
Connexions réseau avec netstat
------------------------------