Recherche de site Web

Sysadmins : Exploitation et gestion des serveurs Linux - Partie 7


En tant qu’administrateur système Linux, vous devez avoir une bonne compréhension des concepts d’administration de base pour pouvoir exploiter et gérer efficacement et sans problème les serveurs Linux.

Dans cet article de la série RHCSA, nous mettons en lumière les concepts clés que vous devez avoir à portée de main pour vous permettre d’exécuter vos tâches comme un professionnel.

Connexion et changement d’utilisateur dans les cibles multi-utilisateurs Linux

L’une des compétences fondamentales qu’un utilisateur expérimenté ou en herbe de Linux doit connaître est la gestion des utilisateurs sur votre système.

Pour vous connecter à votre système, utilisez la syntaxe ssh :

ssh root@server-IP
OR
ssh -l user@server-IP

Une fois connecté, vous pouvez confirmer l’utilisateur auquel vous êtes actuellement connecté à l’aide de la commande.

whoami

Comme le montre le résultat ci-dessus, je suis connecté en tant qu’utilisateur appelé ravisaive.

Vous pouvez obtenir des détails supplémentaires tels que l’UID (ID utilisateur) et le GID (ID de groupe) à l’aide de la commande id.

id

Les utilisateurs Linux sont stockés dans le fichier /etc/passwd. Vous pouvez afficher la liste des utilisateurs en tapant la commande.

cat /etc/passwd

Le fichier /etc/passwd contient à la fois les utilisateurs du système et les utilisateurs réguliers.

Pour passer à un autre utilisateur, il suffit d’utiliser la commande.

su username

Par exemple, pour passer à l’utilisateur tecmint, exécutez.

su tecmint

Encore une fois, pour confirmer l’utilisateur auquel vous êtes actuellement connecté, exécutez la commande.

whoami

Les utilisateurs du système sont identifiés à l’aide du suffixe /sbin/nologin à la fin des informations sur l’utilisateur. Cela implique que vous ne pouvez pas les utiliser à des fins de connexion.

Vous ne pouvez basculer et vous connecter à des utilisateurs normaux qu’avec le /bin/bash à la fin indiquant qu’ils sont des utilisateurs shell.

Maîtriser le démarrage, le redémarrage et l’arrêt du système sous Linux

Dans cette section, nous allons voir comment redémarrer et arrêter un système.

Redémarrage d’un système Linux

Pour redémarrer votre système en tant qu’utilisateur root, essayez l’une des commandes indiquées.

reboot
systemctl reboot
shutdown -r now
init 6 
telinit 6

Les deux dernières commandes indiquent au système de passer au niveau d’exécution 6, ce qui redémarre automatiquement le système.

Arrêt d’un système Linux

Pour arrêter votre système Linux, exécutez l’une de ces commandes en tant qu’utilisateur root.

halt
systemctl halt
poweroff
systemctl poweroff
shutdown -h now
init 0
telinit 0

Initialisation manuelle des systèmes dans différentes cibles

Avant l’avènement des systèmes systemd, vous pouviez facilement afficher le niveau d’exécution - actuellement appelé cibles dans le fichier /etc/inittab.

Pour afficher le niveau d’exécution auquel vous vous trouviez actuellement, il vous suffit d’exécuter la commande : runlevel. Cependant, il n’est plus utilisé. Systemd utilise des 'targets' à la place des niveaux d’exécution.

Pour vérifier la cible par défaut, utilisez la commande systemctl.

systemctl get-default

Pour afficher toutes les cibles disponibles, exécutez la commande.

systemctl list-units --type target --all

Pour définir une cible par défaut, utilisez la syntaxe suivante :

systemctl set-default TARGET.target

Par exemple, pour passer à une cible graphique, la syntaxe serait la suivante :

systemctl set-default  graphical.target

Il vous suffit maintenant de redémarrer pour démarrer dans votre nouvelle cible.

Interruption du processus de démarrage pour accéder au système Linux

Si vous souhaitez apporter quelques modifications au système, vous pouvez interrompre momentanément le processus de démarrage et obtenir un shell. Supposons que vous ayez oublié le mot de passe de l’utilisateur root sur votre système et que vous souhaitiez le réinitialiser et y accéder, comment feriez-vous ?

Pour ce faire, appuyez d’abord sur la touche e de votre clavier lorsque le menu grub2 est affiché.

Après avoir appuyé sur la touche e dans le menu grub2, faites défiler et localisez la ligne qui commence par linux et ajoutez l’instruction suivante à la fin de la ligne. Supprimez les mots rhgb quiet qui viennent à la toute fin et ajoutez-y :

Le rd.break déclenche une pause très tôt dans le processus de démarrage et enforce=0 active le mode permissif SELinux (à ne pas confondre avec selinux=0)

Ensuite, appuyez sur Ctrl + X pour redémarrer le système.

L’invite se transforme en.

switch_root:/#

Ensuite, vous allez monter la partition /sysroot en mode lecture et écriture.

switch_root:/# mount -o remount, rw /sysroot

Exécutez ensuite chroot /sysroot.

switch_root:/# chroot /sysroot

Vous pouvez maintenant changer le mot de passe de la racine en exécutant :

sh-4.4# passwd root

Vous serez invité à saisir un NOUVEAU mot de passe root et à le confirmer plus tard.

Enfin, montez le fichier en lecture seule.

sh-4.4#  mount -o remount,ro /

Quittez deux fois et le système redémarrera. Vous devriez maintenant pouvoir vous connecter en tant qu’utilisateur root à l’aide du mot de passe nouvellement défini.

Une fois connecté, exécutez les commandes.

restorecon /etc/shadow
setenforce 1

Trouver et tuer les processus gourmands en ressources sous Linux

Les processus gourmands en mémoire exercent une pression excessive sur le processeur et la RAM et peuvent provoquer le blocage ou la fermeture soudaine d’applications et d’applications essentielles. Pour éviter cela, il est crucial de surveiller les processus qui s’exécutent sur votre système Linux, ainsi que de savoir comment les arrêter.

Pour avoir un aperçu des processus en cours d’exécution, exécutez la commande :

top

La commande top affiche une vue en temps réel des processus en cours d’exécution sur votre système, ainsi que d’autres mesures telles que la disponibilité du système, la charge moyenne, l’utilisation du processeur et l’utilisation de la mémoire.

Une amélioration de la commande top est la commande htop, qui affiche des statistiques détaillées de performances du système en temps réel et l’impact de chaque processus sur la mémoire et le processeur.

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf install htop
htop

Pour terminer ou arrêter un processus, vous pouvez utiliser son PID (ID de processus) ou son nom de processus :

kill PID

Par exemple, pour arrêter un processus avec une exécution PID 1091.

kill 1091

Pour tuer un processus en utilisant son nom de processus, par exemple, firefox utilise la syntaxe suivante :

kill firefox

Comment ajuster la planification des processus sous Linux

Un planificateur est une partie du noyau qui décide quels processus exécutables seront exécutés par le processeur ensuite.

Le planificateur propose 2 grandes catégories de politiques de planification :

  1. Politique normale
  2. Politique en temps réel

La politique de planification en temps réel comprend 2 sous-catégories :

  1. SCHED_RR : pour les tâches ayant la même priorité, cette stratégie utilise un modèle de tourniquet. Dans cette stratégie, les tâches se voient attribuer un intervalle de temps égal.
  2. SCHED_FIFO – Pour les tâches ayant la même priorité, la première tâche doit céder avant que la suivante puisse être exécutée.

Pour la politique Normal, nous avons :

  • SCHED_OTHER : il s’agit de la stratégie de planificateur de partage de temps par défaut utilisée pour le partage de temps normal.

Pour passer d’une politique à l’autre, nous utilisons la commande chrt, qui définit un processus avec un PID de 1091 pour utiliser SCHED_INFO désigné par l’indicateur -f avec une priorité de 10.

chrt -f -p 10 1091

La commande ci-dessous définit le même processus PID 1091 à utiliser SCHED_OTHER indiqué par l’indicateur -o.

chrt -0 -p 10 1091

Comment trouver et comprendre les journaux système Linux

Traditionnellement, les fichiers journaux système sont stockés dans le répertoire /var/log avec les autres fichiers journaux et leurs chemins d’accès aux fichiers de stockage sont ceux indiqués.

  • /var/log/audit/audit.log – Stocke les événements SELinux
  • /var/log/maillog – Stocke les messages liés au courrier
  • /var/log/boot.log – Stocke les messages du journal de démarrage
  • /var/log/secure – Stocke les journaux liés à l’authentification
  • /var/log/cron – Stocke les journaux sur les tâches cron
  • /var/log/httpd – Stocke les journaux concernant le serveur Web Apache
  • /var/log/sssd – Stocke les journaux sur les services sssd

Pour afficher les fichiers journaux dans les systèmes systemd, utilisez la commande journalctl.

La commande journalctl interroge et affiche les journaux de journald, qui est un démon systemd qui collecte et stocke les données de journal. Il facilite le travail des administrateurs en ayant une vue d’ensemble des journaux pertinents du système.

journalctl

Pour afficher tous les journaux d’événements depuis le dernier démarrage, utilisez l’option -b comme indiqué.

journalctl -b

Pour afficher tous les journaux d’événements auxquels vous avez participé aujourd’hui, utilisez la commande.

journalctl --since=today

Pour afficher les messages les plus récents, exécutez.

journalctl -f

Pour afficher le résumé du processus de démarrage, exécutez.

systemd-analyze

Pour afficher le temps passé par chaque processus au démarrage, exécutez la commande :

systemd-analyze-blame

Comment enregistrer les journaux système sous Linux

Dans le sous-thème précédent, vous avez pu avoir une vue des journaux système pertinents à l’aide de journalctl. Toutefois, par défaut, les journaux système ne survivent pas après un redémarrage.

Vous devez donc faire quelques ajustements pour permettre la préservation ou l’entreposage permanent des bûches.

Tout d’abord, créez un répertoire de journal dans /var/log.

mkdir /var/log/journal

Le seul inconvénient est qu’il peut prendre beaucoup d’espace sur votre disque dur.

Pour limiter l’utilisation de l’espace disque, vous devez modifier le fichier /etc/systemd/journald.conf.

vim /etc/systemd/journald.conf

Localisez l’attribut SystemMaxUse et définissez l’utilisation maximale de l’espace disque. Dans ce cas, nous avons défini l’espace maximum à 100 Mo.

Ensuite, enregistrez les modifications et quittez le fichier de configuration.

Enfin, exécutez la commande ci-dessous pour que les modifications entrent en vigueur.

systemctl restart systemd-journald

Comment démarrer, arrêter, vérifier l’état des services réseau

Voyons maintenant comment gérer les services réseau.

Démarrage et arrêt d’un service

Pour démarrer et arrêter un service, par exemple SSH, utilisez la syntaxe :

systemctl start sshd.service
systemctl stop sshd.service

Vérification de l’état d’un service

Pour vérifier l’état d’un service, par exemple, pour vérifier si ssh est en cours d’exécution ou non, exécutez.

systemctl status sshd.service

Redémarrer ou recharger un service

Pour redémarrer un service, utilisez l’une des commandes suivantes :

systemctl restart name.service
systemctl try-restart name.service
systemctl reload name.service

Par exemple, pour redémarrer ssh, exécutez l’une des commandes.

systemctl restart sshd.service

Activer ou désactiver un service

Configurer un service de manière à ce qu’il démarre lors d’une exécution de démarrage du système.

systemctl enable service.name

Pour empêcher un service de démarrer automatiquement au démarrage, il suffit d’exécuter la commande :

systemctl disable service.name

Répertorier tous les services en cours d’exécution

Pour répertorier tous les services, exécutez la commande.

systemctl list-units --type service

Transfert sécurisé de fichiers entre systèmes Linux

Pour garder vos fichiers privés et confidentiels lorsque vous les envoyez d’un système à un autre, envisagez d’utiliser la commande scp. Abréviation de Secure Copy, la commande SCP s’appuie sur le protocole SSH pour chiffrer les fichiers pendant la transmission, gardant ainsi les intrus à distance.

La syntaxe est la suivante :

scp /path/to/file  username@remote-IP address:/destination path

Par exemple, pour envoyer un fichier appelé linux_fundamentals à partir du répertoire de travail actuel à un système Linux distant dans le répertoire /tmp, exécutez la commande :

scp linux_fundamentals.pdf [email :/tmp

Vous serez invité à indiquer si vous souhaitez poursuivre la connexion ou non et à fournir le mot de passe du système distant. Par la suite, le fichier sera enregistré dans le répertoire spécifié sur le système distant.

Conclusion

Nous avons discuté des concepts et des compétences de base que tout administrateur système doit connaître afin d’exploiter et de gérer efficacement divers services et opérations en cours d’exécution.

Au fur et à mesure que nous avançons, nous espérons que ce guide vous a été bénéfique et qu’il vous mettra davantage au défi de devenir meilleur dans vos compétences en administration des systèmes.

Articles connexes: