Alors on veut devenir adminsys Unix ?

Bonjour à tous,
aujourd’hui un article que je n’ai pas vraiment écrit puisqu’il est la traduction de l’article « So you want to be a Unix sysadmin » écrit par Sandra Henry-Stocker. De quoi ramener les pieds sur Terre à l’adminsys qui est en nous. Traduction oblige, j’ai perdu le jeu de mot sur « Le bon, la brute et le truand » mais ça n’enlève rien au fond de l’article 😉

Bonne lecture.

Article original : http://www.itworld.com/operating-systems/351440/unix-so-you-want-be-unix-sysadmin

Publié avec l’aimable autorisation de l’auteure.

Le bon, le mauvais et les défis
Après plusieurs décennies à administrer des systèmes Unix, j’en sais plus que je n’aimerais admettre sur le bon, le mauvais et les défis de l’administration de systèmes Unix. J’ai travaillé dans des entreprises comprenant de seulement  4 employés à plusieurs dizaines de milliers. J’ai passé des semaines de routine, de travail répétitif et d’autres à me battre avec des taches si incroyablement complexes que je me suis demandée si mon cerveau n’allait pas exploser. J’ai eu des années où il me tardait le lundi et d’autres où j’espérais que le vendredi arrive. L’administration de systèmes Unix peut aller d’un travail prévisible à un travail où chaque jour est un défi. Dans une petite boutique, vous allez probablement avoir beaucoup de responsabilités différentes ; vous pourriez même être le département informatique à vous seul – gérant les systèmes, le réseau, l’organisation du site web, et assurant le support technique aux employés. Dans une grande entreprise, vous pourriez gérer un mélange de tâches avec une douzaine d’autres personnes comme vous ou gérer une part de la tarte complexe des responsabilités.

A n’importe quel poste d’adminsys Unix, cependant, vous seriez plus à même de passer une partie de votre temps à faire des tâches routinières, et une autre à dépanner des problèmes complexes ou apprendre quelque chose de nouveau. Si vous aimez apprendre de nouvelles choses, résoudre des problèmes et poursuivre les défis, alors c’est un bon début et vous devriez vraiment aimer ce boulot. En administrant des systèmes Unix, il y a toujours quelque chose de nouveau à apprendre, à installer, un problème que vous n’avez jamais vu et quelqu’un qui a désespérément besoin de votre aide.

 

Socle de compétences

Le socle des compétences en administration Unix repose sur cinq domaines majeurs :

–       Gestion des logiciels/applications (installer, tester et mettre à jour les logiciels sur les systèmes),

–       Gestion des comptes (ajouter et supprimer des comptes, gérer les accès et privilèges des utilisateurs),

–       Gestion des serveurs (lancer les sauvegardes, surveillance et amélioration des performances des systèmes),

–       Gestion de la sécurité (gérer les pare-feu côté machine, vérifier les permissions de fichiers, et vérifier les configurations de sécurité importantes), et la

–       Gestion des utilisateurs – vous devez vraiment avoir de bonnes compétences sociales ; vous devez comprendre que la majorité de vos utilisateurs comprennent seulement une fraction de ce que vous faites sur les systèmes qu’ils utilisent et devez être bons pour résoudre leurs problèmes avec autant de patience et de sensibilité que vous le pouvez.

Pour travailler dans n’importe des quatre premiers domaines, cependant, vous allez devoir être calé dans une large fourchette de sujets Unix.

 

D’abord, vous allez certainement devoir connaître la structure de base des commandes Unix – ce qu’est une commande, une option et un argument. Vous allez aussi devoir être familier vers un kit de base de commandes Unix et prévoir de lire les pages man pour découvrir des options que vous n’auriez jamais utilisé. Vous devez comprendre comment les chemins de recherche fonctionnent et comment les différentes variables d’environnement de la ligne de commande affectent l’expérience de chaque utilisateur.

Quelques commandes de base avec lesquelles vous devez être à l’aise :

cal              cat             cd            chmod
cp               date            df            domainname
du               exit            finger        ftp
grep             groupadd        groupdel      hostname
ifconfig         kill            last          logout
lpq              lpr             ls            man
mkdir            more            mv            passwd
ps               pwd             rm            rmdir
scp              sftp            ssh           sudo
telnet           useradd         userdel       w
wc               who             whoami

 

 

Vous devez aussi savoir :

  • Quand et comment utiliser  ^c, ^d, et ^z.
  • Comment utiliser les pipes et les redirections. Si >, >>, 2>, et 2>&1 ne sont pas une seconde nature pour vous, vous devez faire en sorte que ça le devienne.
  • Comment utiliser  /dev/null pour masquer la sortie de la console et vider des fichiers.
  • Comment utiliser  $? (Le code de retour ou “exit code”)  pour déterminer si la commande précédente (généralement au sein d’un script) s’est bien déroulée.
  • Comment utiliser les expressions régulières avec des commandes telles que ls, grep et perl.
  • L’effet des différents guillemets – ce qui différencie les simples des doubles et comment les ` (backticks) peuvent être utilisés pour ajouter une sortie à une commande
  • Comment ajouter et supprimer des comptes utilisateurs (en supprimant ou pas les dossiers associés).
  • Comment gérer les permissions, timestamps, propriétaires et groupes – et comment déterminer si des permissions additionnelles ont été assignées avec la commande setacl. Vous devriez aussi savoir comment travailler avec le contexte de sécurité des fichiers lorsque SELinux est utilisé.
  •  Comment utiliser des utilitaires essentiels comme grep, awk, sed, et wc.
  • Comment utiliser les éditeurs de texte. Même si vous adorez les éditeurs de texte graphiques comme Gedit, vous vous trouverez un jour face à une ligne de commande sans aucune autre option. En fait, vous devriez vraiment connaître vi, même s’il faut du temps pour s’y habituer. De plus, vi (et sa variation colorée, vim) peut  accélérer beaucoup de votre travail une fois que vous savez comment bien l’utiliser.
  • Les bases du scripting. Vous devez être vraiment bon pour les scripts de base – utilisant les commandes if, for et while voire les case et les fonctions.
  • Comment gérer les processus – comprendre l’affichage de ps, connaître le genre d’informations que vous pouvez récupérer de /proc et comment utiliser des outils tels que lsof pour déterminer quels fichiers a ouvert un processus
  • Comment mettre en place un nouveau système de fichiers, consulter l’espace libre, pister les gros fichiers, utiliser fsck et trouver des fichiers selon beaucoup de critères différents (taille, appartenance, permissions, types, etc…)
  • Où trouver les répertoires clés et les fichiers de configuration – ceux dans /etc (comme /etc/hosts, les fichiers passwd et shadow) et ceux à d’autres endroits (comme /etc/mail/sendmail.cf, /etc/samba/smb.conf)
  • Comment mettre en place les services essentiels (ex : dns, impression)
  • Comment installer des paquets en utilisant yum et apt-get où à partir de fichiers tar.gz
  • Comment appliquer les patches et quand ils sont nécessaires.
  • Comment surveiller les systèmes avec des commandes telles que df et du pour regarder l’espace disque local, et des commandes comme top et sar pour surveiller et évaluer les performances.
  • Comment vos systèmes démarrent – leur dépendance aux scripts de démarrage et s’ils utilisent les services d’init systemd ou upstart
  • Comment utiliser les commandes de base comme dump et tar pour sauvegarder des répertoires ou des systèmes de fichiers entiers.
  • Comment intéragir avec d’autres systèmes – se connecter via ssh, déplacer des fichiers avec scp et sftp, et utiliser rsync pour synchroniser des fichiers ou des systèmes de fichiers entiers.
  • Comment voir et manipuler les timestamps des fichiers, y compris la commande touch
  • Comment configurer une interface réseau ; comment utiliser les commandes ifconfig et ip addr ; comment configurer le fichier /etc/sysconfig/network ; quand utiliser /etc/hosts et les commandes hostname et domainname.
  • Comment configurer les services NFS, NIS et Samba pour partager des fichiers et des informations réseau avec d’autres systèmes Unix et partager des fichiers avec les systèmes Windows
  • Comment assurer le support de base, traquant ce qui cloche quand quelque chose ne fonctionne plus, regarder les fichiers de logs et utiliser des commandes telles que trace
  • Comment configurer et utiliser sudo pour limiter l’utilisation de l’accès root à l’essentiel

Les systèmes Unix sont complexes et chaque entreprise ou projet est presque unique, mais les compétences de base vous permettront de travailler dans quasiment n’importe quelle configuration.

Tagged: , ,

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *