L’article d’aujourd’hui porte sur l’administration d’un serveur Linux à distance pour les débutants. Le protocole SSH permet l’ouvrir d’une « ligne directe » avec le serveur, sans interface graphique. La raison pour laquelle il n’y a pas d’interface graphique sur la plupart des serveurs Linux est le poids que cela prend sur le système et les ressources que cela consomme. C’est la raison pour laquelle vous devez apprendre à vous servir d’SSH.
Cet article est en quelque sorte un mémo des principales commandes à connaître sur un système Linux.
Si vous cherchez à disposer d’une interface graphique sur votre serveur, regardez du côté d’NX.
Si vous cherchez un tutoriel sous Microsoft : Commandes MS-DOS principales.
Connexion au serveur à distance via SSH
Si vous êtes sous Windows, le logiciel Putty se charge très bien de cela.
Sous Linux, la syntaxe est la suivante depuis un terminal.
ssh user@address ssh dinath@security-helpzone.com
A savoir que le serveur OpenSSH utilise PAM par défaut sur le système. Les identifiants pour se connecter sont donc ceux du système.
Récupérer les droits super-utilisateurs
Sous Linux, il est important de récupérer les privilèges administrateurs.
su
Ou pour forcer la récupérations des droits.
su -
(su pour switch user)
Si vous n’avez jamais défini de mot de passe pour le compte super-utilisateur.
sudo passwd
Cette commande est surtout valable pour Ubuntu qui utilise surtout les sudoers files.
Installer un paquet sous Linux
Si vous utilisez une nouvelle installation de Debian / Ubuntu, vous allez devoir installer le serveur SSH.
apt-get install openssh-server
La commande aptitude ou apt-get permet l’installation d’un paquet depuis les dépôts.
Pour vérifier qu’un paquet existe dans les dépôts :
aptitude search ssh
Pour vérifier qu’un paquet est présent sur le système :
dinath@alexandre:~$ dpkg -l | grep ssh
« dpkg -l » permet de lister les paquets installés. On renvoit la sortie de la commande avec le pipe « | » et « grep » permet de rechercher une chaîne de caractères dans une chaîne de caractères.
Pour vos premières installations de paquet, je vous recommande de rechercher ce que vous souhaitez sur Google d’abord, ensuite, une fois le nom du paquet obtenu, installez-le.
Mettre à niveau son système et ses paquets
Les mises à jour sont Linux se font aussi via les dépôts.
La commande suivante permet de mettre à jour la liste des dépôts pour récupérer les nouveaux paquets mis à jour.
aptitude update
La commande suivante permet de mettre à niveau tous les paquets.
aptitude safe-upgrade
Supprimer un paquet
Vous pouvez choisir de supprimer simplement un paquet via la commande suivante. Cette commande permettra de supprimer un paquet et ses dépendances primaires. La configuration du paquet sera sauvegardée.
aptitude remove <paquet>
Pour supprimer totalement un paquet, la commande suivante supprimera toutes les dépendances associées avec le paquet.
apt-get autoremove <paquet>*
Si vous souhaitez supprimer totalement le paquet et sa configuration.
dpkg --purge <paquet>
Si vous souhaitez rechercher les anciennes configurations.
aptitude search ~s
Naviguer dans les répertoires
Par défaut, une fois loggué sous SSH, vous retomberez dans le répertoire suivante.
/home/<user>
Pour vous déplacer dans un autre répertoire : « cd » pour change directory.
cd /var/www
Pour savoir où vous vous trouvez sur le disque.
pwd
Pour supprimer un fichier : « rm » pour remove.
rm -v /home/dinath/changelog.txt
Pour supprimer un répertoire : « rm » avec le commutateur « -R » pour recursive.
rm -vR /home/dinath/test
(le commutateur « -v » permet une sorti verbeuse (avec plus d’informations))
Pour copier-coller un fichier : « cp » (utiliser l’option -R pour un répertoire).
cp -v /home/dinath/changelog.txt /var/www/shz/
Pour déplacer un dossier ou un fichier sur le disque : « mv ». A savoir que sur un système Linux, ce sont les inodes qui sont modifiées ce qui est instantané pour l’utilisateur.
mv -v /home/dinath/changelog.txt{,.old}
/home/dinath/changelog.txt » -> « /home/dinath/changelog.txt.old »
Lister un répertoire se fait simplement avec la commande « ls ».
ls -l
-rw-r--r-- 1 dinath dinath 0 mai 3 10:29 changelog.txt.old
drwxr-xr-x 2 root root 4096 oct. 14 2014 documents
Créer un nouveau répertoire.
mkdir -v /home/dinath/directory
Pour télécharger un fichier : « wget ».
wget https://www.security-helpzone.com/download/slowin%20killer/Slowin%20Killer.exe
Les droits sur les fichiers
Pour définir qui détient le fichier en question (quel utilisateur et quel group).
chown user:group /home/dinath/changelog.txt
Pour changer les droits de ce fichier pour les utilisateurs. (« -R » pour un dossier)
chmod 755 /home/dinath/changelog.txt
Voici les valeurs pour définir les droits.
- Exécuter
- Ecrire
- Ecrire et exécuter
- Lire
- Lire et exécuter
- Lire et écrire
- Lire, écrire et exécuter
Les trois premières valeurs du chmod sont définies comme ceci.
- Utilisateurs
- Groupes
- Autres
Gérer les fichiers textes
Pour éditer le contenu d’un fichier texte dans la console. (si vous n’avez pas nano il vous suffit de l’installer avec aptitude)
nano /home/dinath/changelog.txt
Pour afficher les 50 dernières lignes d’un fichier texte.
tail -n 50 /home/dinath/changelog.txt
Pour afficher les 10 dernières lignes d’un fichier texte et continuer son affichage en temps réel. (très utile pour le debug des logs)
tail -f /home/dinath/changelog.txt
Pour afficher les premières lignes d’un fichier.
head /home/dinath/changelog.txt
Pour afficher le contenu entier d’un fichier texte dans la console. (« -n » permet d’afficher les numéros de ligne)
cat -n /home/dinath/changelog.txt
Créer un nouveau fichier texte simplement.
touch /home/dinath/changelog.txt
Gérer les services
Les services sous Debian / Ubuntu se trouvent dans le répetoire suivante : /etc/init.d/. Ils sont essentiels sous Linux et se démarrent via le démon update-rc.d.
Pour démarrer un service :
service apache2 start
Ou
/etc/init.d/apache2 start
La plupart du temps sur les services, vous pourrez utiliser les commutateurs suivant : start, stop, restart, status.
Gérer le système
Un système Linux ne se redémarre pas aussi souvent qu’un système Windows. Vous pouvez laisser tourner un serveur plus d’un an sans soucis, c’est un système d’exploitation très stable.
Pour rédémarrer le système :
reboot
Pour éteindre totalement le système :
halt
Pour savoir combien de mémoire vive (RAM) est utilisé. (« -m » pour afficher le résultat en mo)
free -m
Pour afficher l’espace disque restant sur le disque dur.
df -h
Pour afficher la taille d’un répertoire.
du -hs /home/dinath/
Pour afficher l’utilisation physique du serveur
top
Pour sortir du mode ssh.
exit
Exécuter un fichier shell (.sh).
bash /home/dinath/script.sh
Commandes utiles
Pour récupérer toutes les anciennes commandes tapées.
history
Afficher le manuel d’utilisation d’une commande.
man dpkg
La commande grep permet aussi de rechercher dans les fichiers.
grep "dinath" /home/dinath/changelog.txt