Publicidad
Publicidad

Más contenido relacionado

Publicidad
Publicidad

Administration serveur linux

  1. RÉALISÉ PAR: SEHLA ZAYEN E N S E I G N A N T E U N I V E R S I T A I R E I N G É N I E U R C E R T I F I E L I N U X Administration Serveur Linux 1
  2. 1 . NOTION D’UTILISATEUR 2 . LE FICHIER /ETC/PASSWD, LE FICHIER /ETC/GROUP, LE FICHIER /ETC/SHADOW 3 . ADMINISTRATION DES UTILISATEURS 4 . CHANGEMENT DES PARAMÈTRES DU MOT DE PASSE 5 . ADMINISTRATION DES GROUPES 6 . GESTION DU PROPRIÉTAIRE ET GROUPE D’UN FICHIER/RÉPERTOIRE 7 . GESTION DES DROITS D’ACCÈS 8 . GESTION DE L’ENVIRONNEMENT D’UN UTILISATEUR Gestion des utilisateurs et des groupes 2
  3. Notion d’utilisateurs (Users) Les comptes utilisateur servent à beaucoup de choses sur les systèmes UNIX et Linux :  Ils permettent de distinguer les différents utilisateurs qui ont accès au système, pour des raisons de sécurité. Chacun d'eux possède un compte personnel, auquel il accède par un identifiant et un mot de passe secret.  Ces utilisateurs peuvent définir des permissions d'accès à leurs données, afin d'en autoriser ou d'en interdire l'exploitation par les autres. 3
  4. Notion d’utilisateurs (Users) En dehors des comptes personnels, il existe des utilisateurs qui ne sont pas forcément des personnes physiques. C'est le cas :  Du compte root utilisé par l'administrateur pour l’administration du système.  des comptes en général destinés à des démons qui doivent avoir accès à certains fichiers sous une identification spécifique (apache, postfix,etc). 4
  5. Notion d’utilisateurs (Users) Bien que chaque utilisateur possède un identifiant le système les reconnaisse à travers un UID (User Identifier). La valeur que prend l’UID dépend de la catégorie de l’utilisateur. Si :  L’UID=0 alors l’utilisateur est un administrateur qui possède tous les privilèges  L’UID est entre [1..499] l’utilisateur est un utilisateur spécial (démon)  L’UID >= 500 l’utilisateur est un utilisateur physique 5
  6. Notion d’utilisateurs (Users) Chaque utilisateur possède aussi un GID (Group Identifier ). Le GID représente le numéro du initial de l’utilisateur. Le GID attribué par le système est égal à l’UID (par défaut). L’utilisateur peut être aussi membre d’autres groupes système. 6
  7. Les fichiers systèmes pour la gestion des utilisateurs Les fichiers importants que le système consulte pour la gestion des utilisateurs sont :  le fichier /etc/passwd  le fichier /etc/shadow  le fichier /etc/group 7
  8. Le fichier système /etc/passwd  Le fichier /etc/passwd contient toutes les informations relatives aux utilisateurs (login, mots de passe, ...). Seul le superutilisateur (root) doit pouvoir le modifier. Il faut donc modifier les droits de ce fichier de façon à ce qu'il soit en lecture seule pour les autres utilisateurs.  Ce fichier possède un format spécial permettant de repérer chaque utilisateur, chacune de ses lignes possède le format suivant: login:password:UID:GID:commentaire:répertoire_ personnel: programme_de_démarrage 8
  9. Le fichier système /etc/passwd Chaque ligne contient sept champs séparés par le caractère « : »  Login: le nom du compte de l'utilisateur  Password : le mot de passe de l'utilisateur (codé bien sûr). Ce champs n’est plus utilisé (remplacé par le caractère X).  UID: c’est un entier qui identifie l'utilisateur pour le système d'exploitation.  GID: c’est un entier qui identifie le groupe de l'utilisateur 9
  10. Le fichier système /etc/passwd  Commentaire: ce champ peut inclure des informations sur l'utilisateur ou simplement son nom réel  répertoire personnel: qui est celui dans lequel il se trouve après s'être connecté au système  Programme de démarrage: ce programme est exécutée après connexion au système (c'est fréquemment un interpréteur de commandes: bash, sh,etc.) 10
  11. Le fichier système /etc/passwd Exemple du fichier /etc/passwd: root:x:0:0:root:/root:/bin/bash Apache:x:43:43:ServeurWeb:/var/www:/sbin/nolgin Postfix:x:73:73::/var/spool/postfix:/sbin/nologin Joe:x:500:500:Joe Smith:/home/joe:/bin/bash Alex:x:501:501::/home/alex:/bin/sh 11
  12. Le fichier système /etc/group Ce fichier contient la liste des groupes systèmes ainsi que leurs membres. Le format d’une ligne est le suivant: Nom_du_groupe:x:GID :membre1, membre2… Exemple: root:x:0:root Bin:x:1:root,bin,daemon Apache:x:43: Joe:x:500: Alex:x:501: Developper:x:1000:Alex,Joe 12
  13. Le fichier système /etc/shadow Le fichier /etc/shadow contient les informations suivantes: username:passwd:last:may:must:warn:expire: disable:reserved En détail:  Username Le Nom de l'Utilisateur  Passwd Le mot de passe encodé  Last Date de la dernière modification (en nombre de jours depuis le 1er janvier 1970).  May Nombre de jours avant que le mot de passe puisse être modifié  Must Nombre de jours avant que le mot de passe doive être modifié 13
  14. Le fichier système /etc/shadow  Expire Nombre de jours entre l'expiration du mot de passe et la fermeture du compte.  Disable Date de la fermeture du compte (en nombre de jours depuis le 1er janvier 1970).  Reserved Champ réservé Exemple : alex:Npge08pfz4wuk:9479:0:10000:::: 14
  15. Gestion des utilisateurs Cette étape consiste à gérer les opérations suivantes:  Ajout d’un nouvel utilisateur  Modification d’un paramètre d’un utilisateur  Suppression d’un utilisateur  Modification des paramètres d’expiration du mot de passe 15
  16. Ajout d’un nouvel utilisateur La commande de base qui permet d’ajouter une nouvel utilisateur est: #useradd login #passwd login Cette commande va apporter une ensembles de changements:Ajout d’une nouvelle ligne dans le fichier /etc/passwd 1. Ajout d’une ligne dans le fichier /etc/group 2. Copie du répertoire /etc/skel dans un répertoire sous /home qui porte le nom du nouvel utilisateur 3. Rendre le propriétaire et le groupe de ce répertoire l’utilisateur en question 4. Ajout d’une nouvelle ligne dans le fichier /etc/shadow Exemple: #useradd alex #passwd alex 16
  17. Suppression d’un utilisateur La commande de base qui permet de supprimer un utilisateur est: #userdel login Cette commande va supprimer toutes les entrées correspondantes à l’utilisateur dans les fichier s : /etc/passwd, /etc/group et /etc/shadow Pour supprimer le répertoire de l’utilisateur il faut ajouter l’option « -r » #userdel -r login Exemple: #userdel -r alex 17
  18. Modification des paramètres d’un utilisateur La commande de base qui permet de modifier les paramètres d’un utilisateur déjà exisitant est: #usermod options login Les options sont les suivantes: -l nom_connexion Le nom de l'utilisateur passera de login à login_name. Rien d'autre n'est modifié. En particulier, le répertoire personnel de l'utilisateur devra probablement être changé pour refléter le nouveau nom de connexion. -u uid La valeur numérique de l'ID de l'utilisateur. 18
  19. Modification des paramètres d’un utilisateur -g groupe_initial Le nom du groupe ou le numéro du groupe de connexion initial de l'utilisateur. Le nom du groupe doit exister. -G groupe,[...] Une liste de groupes supplémentaires auxquels fait également partie l'utilisateur. Chaque groupe est séparé du suivant par une virgule, sans espace entre les deux. -c commentaire La nouvelle valeur du champ de commentaire du fichier /etc/passwd . -d rép_perso Le nouveau répertoire de connexion de l'utilisateur 19
  20. Modification des paramètres d’un utilisateur -s shell Le nom du nouveau shell de connexion de l'utilisateur. Si shell n'est pas fourni, le système sélectionnera le shell de connexion par défaut. -L Verrouiller le mot de passe d'un utilisateur. Cette option ajoute un `!' devant le mot de passe crypté, ce qui désactive le mot de passe. -U Déverrouiller le mot de passe d'un utilisateur. Cela supprime le `!' situé devant le mot de passe crypté. -e date_expiration La date à laquelle le compte utilisateur sera désactivé. La date est spécifiée dans le format AAAA- MM-JJ. 20
  21. Modification des paramètres d’un utilisateur Exemple: #usermod – G devlelopper,web alex #usermod -s /sbin/nologin usermail #usermod -s /bin/sh joe #usermod -L alex #usermod -U alex 21
  22. Changement des paramètres du mot de passe La commande chage permet de modifier les informations de validité d'un mot de passe. Ces informations seront sauvegardées au niveau du fichier /etc/shadow. Syntaxe: #chage options login Parmi les options: -m nbre de jours : nombre de jours minimum entre deux modifications de mot de passe -M nbre de jours : nombre de jours maximum entre deux modifications de mot de passe -E date : la date d’expiration du mot de passe -l : affiche tous les paramètres du mot de passe 22
  23. Changement des paramètres du mot de passe Exemple: #chage -m 20 alex #chage -M 45 alex # chage -E 2011-31-12 alex 23
  24. Gestion des groupes  Un groupe est un ensemble d'utilisateurs qui partagent les mêmes fichiers et répertoires.  Chaque utilisateur doit faire partie au moins d'un groupe, son groupe primaire. Celui-ci est défini au moment de la création du compte, et par défaut, l'utilisateur appartient à un nouveau groupe créé, portant son nom.  Ainsi, dans /etc/passwd chaque utilisateur possède un groupe par défaut, précisé par son identifiant gid dans ce fichier.  L'appartenance au groupe primaire n'étant pas exclusive, tout utilisateur peut faire partie de plusieurs autres groupes, appelés ses groupes secondaires. 24
  25. Gestion des groupes  Ajout d’un nouveau groupe: #groupadd nomdugroup Exemple: #groupadd developper  Modification des paramètres d’un groupe: #groupmod option nomdugroup Exemple: #groupmod –n developper2 developper  Suppression d’un groupe: #groupdel nomdugroupe Exemple: #groupdel developper 25
  26. Commandes de gestion du compte  Id: Affiche des informations sur l'identité d'un utilisateur.  Groups: Affiche des groupes auxquels appartient un utilisateur.  Whoami : affiche le login de l’utilisateur  Who : affiche la liste des utilisateur connectés  Last : affiche l’historique des connexions. 26
  27. Notion de propriétaire et groupe d’un fichier/répertoire  Quand un fichier ou un répertoire est créé, il appartient forcément à un utilisateur (réel ou système). Cet utilisateur sera le « propriétaire » du fichier.  La possession d’un fichier est caractérisée sur 3 niveaux :  Le 1er niveau : Propriétaire du fichier ; souvent, il s’agit du créateur du fichier. Caractérisé par la lettre « u » (user, comme utilisateur).  Le 2nd niveau : Groupe Propriétaire du fichier ; il est possible pour un utilisateur membre du groupe propriétaire du fichier d’avoir des permissions exclusives. Caractérisé par la lettre « g » (group, comme groupe).  Le 3ème niveau : les Autres ; tout utilisateur qui n’est ni propriétaire, ni membre du groupe propriétaire fera partie des « Autres ». Caractérisé par la lettre « o » (other, comme autre). 27
  28. Notion de propriétaire et groupe d’un fichier/répertoire  Pour changer le propriétaire d’un fichier/répertoire l’administrateur ou le propriétaire utilise la commande suivante: #chown nouveauproprietaire fichier/répertoire Exemple: #chown alex script.sh  Pour changer le groupe d’un fichier/répertoire l’administrateur ou le propriétaire utilise la commande suivante: #chgrp nouveauproprietaire fichier/répertoire Exemple: #chgrp developper script.sh Remarque: #chown alex.developper script.sh 28
  29. Notion de permission d’accès d’un fichier ou répertoire Pour chaque identité (propriétaire, groupe et autres), il existe 3 droits d'accès :  r - read : fournit le droit de lecture sur le fichier ou répertoire. Ce droit possède la valeur 4.  w - write : fournit le droit d'écriture sur le fichier ou répertoire. Ce droit possède la valeur 2.  x - execute : fournit le droit d'exécution. Ce droit possède la valeur 1. La commande ls -l nous permet d'afficher les droits d'un fichier sous Linux. 29
  30. Notion de permission d’accès d’un fichier ou répertoire  L'affichage des droits est représenté par une chaîne de 9 caractères, précédée d'un caractère, représentant le type de l’entrée.  Ces 9 caractères, regroupés 3 par 3 (rwx rwx rwx), définissent les droits des 3 identités (propriétaire, groupe et les autres). Pour chaque droit existant on voit une lettre parmi r,w ou x . Si un droit n'existe pas on utilise le tiret. Exemple: -rwxr-xr-x 1 root admi 872 2010-07-28 22:44 /usr/bin/crontab drwxr-xr-x 1 alex commercial 26872 2011-08-30 08:12 /tmp/doc 30
  31. Notion de permission d’accès d’un fichier ou répertoire La commande chmod (CHangeMODe) permet de définir et de changer les droits d'accès d'un fichier ou un ensemble de fichiers. Il y a deux modes d'utilisation de la commande chmod : de façon littérale ou de façon numérique.  La façon littérale Il s'agit de l'utilisation des lettres déjà citées u, g et o pour l’identité de l’utilisateur d’un côté ainsi que r, w et x pour spécifier les droits voulus. On utilisera une notation pour attribuer et/ou retirer des droits. + (plus) pour attribuer et - (moins) pour retirer . Exemple: #chmod u+x script.sh #chmod go-w script.sh 31
  32. Notion de permission d’accès d’un fichier ou répertoire La façon numérique On sommera triplet par triplet les valeurs des droits qu’on désir activer. On passera la valeur (sur 3 chiffres) des droits d’accès finaux à la commande chmod. Exemple: #chmod 751 script.sh #chmod 711 /tmp/doc/ 32
  33. Droits d’accès par défaut La commande umask permet de définir les droits par défaut d'un fichier ou répertoire à sa création. Autrement dit elle indique les droits qu'il faut retirer lors de leur création. La commande umask, à l'instar de la commande chmod (façon numérique) prend en argument 3 chiffres, qui cette fois représentent les droits que nous ne voulons pas accorder. Ces droits seront retirés du droit d’accès maximum 666 pour le cas des fichiers et 777 pour la cas des répertoires $ umask 022 (modifier la valeur de l’umask) $umask (afficher la valeur de l’umask) 33
  34. Notion d’inode Les inodes sont des structures de données contenant des informations concernant les fichiers stockés dans certains systèmes de fichiers (notamment de type Linux/Unix). À chaque fichier correspond un numéro d'inode (i-number) dans le système de fichiers dans lequel il réside, unique au périphérique sur lequel il est situé. Les inodes peuvent, selon le système de fichiers, contenir des informations concernant le fichier, tel que son propriétaire, son groupe, son type d'accès,etc. Pour visualiser le contenu de l’inode d’un fichier, on peut utiliser la commande: $stat nomduficher Exemple: $stat script.sh 34
  35. Notion d’inode L’inode d’un fichier contient les attributs suivants :  La taille du fichier en octets  Identifiant du périphérique contenant le fichier  L'identifiant du propriétaire du fichier (UID)  L'identifiant du groupe auquel appartient le fichier (GID)  Le numéro d'inode qui identifie le fichier dans le système de fichier  Le mode du fichier qui détermine quel utilisateur peut lire, écrire et exécuter ce fichier 35
  36. Notion d’inode  horodatage (timestamp) pour :  La date de dernière modification ctime de l'inode (affichée par la commande stat ou par ls -lc, modification des droits du fichier)  La date de dernière modification du fichier mtime (affichée par le classique ls -l)  La date de dernier accès atime (affichée par la commande stat ou par ls -lu)  Un compteur indiquant le nombre de liens physiques sur cet inode. (Nlinks) 36
  37. Gestion de l’environnement d’un utilisateur Lorsqu’un utilisateur se voit attribué un SHELL au moment de sa connexion, ce SHELL lui offrira les fonctions suivantes: 1. Un interpréteur de commande 2. La gestion de l’environnement qui inclut: 1. La gestion des variables d’environnement 2. La gestion des alias 3. Un langage de programmation 37
  38. Gestion de l’environnement d’un utilisateur Les variables d’environnement Pour visualiser ses variables d’environnement chaque utilisateur peut utiliser la commande: $env $set Chaque variable possède un nom (en majuscule) et une valeur. Pour afficher le contenu d’une variable on utilise la commande: $echo $NOMVAR Pour modifier le contenu d’une variable: $NOMVAR=valeur 38
  39. Gestion de l’environnement d’un utilisateur Exemples: 1. Affichage du contenu de quelque variables d’environnement: echo $HOME /home/alex echo $HITSFILE .bash_history echo $HISTFILESIZE 1000 echo $PATH /bin:/usr/local/bin:/home/alex/bin 2. Pour modifier la variable PATH en lui ajoutant le répertoire /home/alex/scripts PATH=$PATH:/HOME/alex/scripts 39
  40. Gestion de l’environnement d’un utilisateur Pour rendre permanent la déclaration d’une nouvelle variable ou le changement de la valeur d’une variable déjà existante on doit l’exporter au niveau du fichier $HOME/.bash_profile comme suit: $vi .bash_profile export X=100 export PATH=$PATH:/HOME/alex/scripts Le fichier .bash_profile est lu au moment de la connexion de l’utilisateur et après son authentification. 40
  41. Gestion de l’environnement d’un utilisateur Notion d’alias sur les commandes La commande alias permet à un utilisateur de créer des alias sur les commandes système. La syntaxe est la suivante: $alias nomalias= ‘commande’ Exemple: $alias cls=‘clear’ $alias dir=‘ls –lRa’ $alias (affiche la liste des alias) Pour désactiver un alias: $unalias nomalias Exemple: $unalias dir 41
  42. Gestion de l’environnement d’un utilisateur Pour rendre permanant la déclaration d’un alias l’utilisateur doit le déclarer dans son fichier $HOME/.bashrc Exemple: $vi .bashrc alias cls=‘clear’ alias dir=‘ls -lRa’ 42
Publicidad