1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
Welcome to our Education website, plz like our page facebook to support us. Thank You and wish you good navigation

Set-UID et Set-GID bit

abdelouafiSep 27, 2016

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      295
      Likes Received:
      9
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      Set-UID et Set-GID bit
      2
      Substitution d'identité
      Autoriser l'utilisateur de prendre les droits du propriétaire du fichier pendant l’exécution. (cas de passwd) Cette autorisation (s) remplace l'autorisation x du propriétaire ou du groupe Pour des raisons de sécurité: surveiller les fichiers qui possèdent le droit (s) ( les recenser lors de l’installation)
      3
      •Modification par chmod
      • ci-dessous, abc représentent les droits traditionnels
      • chmod 4abc fichier (le x du propriétaire remplacé par s)
      • chmod 2abc fichier (le x du groupe remplacé par s)
      • chmod 6abc fichier ( gpe et prop)
      4
      •Exemple
      •Bit « s » au niveau du groupe :
      #find /sbin/ /usr/ /bin -perm -2000 -exec ls -l {} \;
      •Bit « s » au niveau de l'utilisateur :
      #find /sbin/ /usr/ /bin -perm -4000 -exec ls -l {} \;
      •Bit « s » au niveau du groupe et de l'utilisateur
      #find /sbin/ /usr/ /bin -perm -6000 -exec ls -l {} \;
      5
      Le sticky bit
      Ce bit (t) remplace l'autorisation x de other et s'applique uniquement aux fichiers exécutables et aux répertoires.
      Dans le cas des fichiers, le sticky bit indique que le segment texte du fichier exécutable est conservé dans l'espace disque de swap une fois la commande exécutée
       un chargement en mémoire plus rapide lors d'une exécution ultérieure.
      Dans le cas des répertoires, le bit t permet seulement au propriétaire du répertoire, au propriétaire du fichier ou à root de supprimer et de renommer un fichier
      6
      Processus de Boot Démarrage du système Linux
      7
      •Une fois l'ordinateur mis sous tension, le processeur lance l'exécution du BIOS (Basic Input Output System).
      •le BIOS exécute le MBR (Master Boot Reccord) situé sur le premier secteur (512 octets) du support bootable choisi (disque, CD, clef USB, ...)
      8
      •Ce secteur d'amorçage contient donc un petit programme boot loader et une table des partitions.
      •Le programme ou "boot loader", se charge de désigner la partition active du média et lance le programme qui se trouve au début de la dite partition (dans le secteur de boot de cette partition),
      •Le chargeur de n'importe quel système d'exploitation peut se trouver à cet endroit
      •Sous LINUX, ce programme est en général LILO (Linux Loader).
      9
      - sinon, il lance le MBR de LILO qui se trouve sur la partition active. Celui-ci lance à son tour la deuxième partie de LILO.
      10
      •La deuxième partie de LILO affiche le prompt LILO et on sélectionne l'OS.
      •Le choix correspondant doit être tapé au clavier; sinon au bout d'un délai d'expiration, c'est le choix par défaut qui sera sélectionné
      •Lilo charge et lance le noyau de Linux et lui passe la main.
      11
      Lancement du système : boot -> init
      •Une fois le noyau chargé en mémoire, il lance le premier processus système /sbin/init
      •Le processus init effectue un contrôle des partitions puis procède au montage du système de fichier principal sous / en mode lecture uniquement
      12
      •init lit le fichier /etc/inittab pour savoir :
      - quel est le fichier à exécuter pour continuer le chargement du système
      - quel est le runlevel (niveau d'exécution) par défault
      - comment lancer les services pour un runlevel donné
      -….
      /sbin/init = le premier processus système dont la tâche essentielle consiste à lancer les scripts de démarrage du système dans /etc/inittab
      13
      processus init
      Exemple de fichier /etc/inittab:
      format des lignes id:runlevels:action process
      14
      •Getty permet de faire fonctionner (GET) un terminal (TTY). Chaque terminal a besoin de sa commande getty.
      Quand vous vous loggez vous êtes sur le tty1. Pour aller sur le tty2 appuyez sur Alt-F2. tty1, tty2, etc.
      Les tty sont des "terminaux virtuels" (qu'on appelle parfois des "consoles virtuelles").
      Vous pouvez vous logger sur différents terminaux virtuels et ainsi avoir plusieurs sessions différentes tournant en même temps sur l'ordinateur
      15
      •Le rôle du programme getty est d'afficher le contenu du fichier /etc/issue, puis le nom de la machine suivi de la chaîne « login ».
      •Dès que le login a été entré, getty exécute la commande /bin/login et c'est cette commande qui continue alors le processus de connexion (par exemple en affichant le contenu du fichier /etc/motd, ...), puis lance un Shell pour l'utilisateur
      16
      processus init
      Exemples d'actions courantes pour le fichier inittab :
      •respawn :Si le processus est terminé alors le redémarrer
      •wait : Démarer le processus une seul fois .
      •boot : il est exécuté pendant le démarrage du système
      •initdefault indique le niveau d’exécution par défaut
      •sysinit Le processus est exécuté pendant le démarrage du système. Il est exécuté avant les entrées boot ou bootwait
      •ctrlaltdel Le processus est exécuté lorsque init reçoit le signal SIGINT.
      (appui simultané des touches CTRL+ALT+DEL)
      17
      services et démons
      Lancement du système : boot -> init -> modules/services
      •Après le chargement du noyau, le script correspondant à sysinit dans le fichier inittab est chargé :
      /etc/rc.d/rc.sysinit
      •Ce script d'initialisation est chargé de 2 tâches fondamentales
      - charger les modules dans le noyau (gestion des périphériques)
      - démarrer les services en exécutant les processus : démons
      18
      •rc.sysinit est un script qui va terminer la configuration de base du système :
      - Activer l’horloge,
      - charger la configuration clavier adéquate,
      - activer la partition de swap,
      - configurer le nom de la machine,
      - configurer la variable d'environnement PATH,
      •Ce script vérifie notamment que le système de fichier racine ne comporte pas d'erreur et le remonte en lecture-écriture. Et enfin active les modules nécessaires en appelant /etc/rc.d/rc.modules.
      19
      •Module : partie du noyau mais qui n'est pas directement intégré à celui-ci.
      •L'intérêt des modules est qu'ils sont chargés en mémoire quand le besoin s'en fait sentir et déchargé quand on en a plus besoin. Cela permet d'économiser de la mémoire
      20
      •Lancement du système : boot -> init -> services
      •Le mécanisme de démarrage des services est caractéristique d'une distribution ( : incompatibilités entre distributions) :
      - Mandriva, Debian, RedHat, ... mécanisme dérivé d' »Unix System V »
      - Slackware, FreeBSD, NetBSD, ... mécanisme dérivée d' « Unix BSD »
      21
      •le répertoire /etc/init.d contient tous les scripts de gestion des services installés (1 service <-> 1 ou plusieurs démon(s))
      •les lignes « /etc/rc.d/rc x » du fichier /etc/inittab déterminent le lancement des scripts pour le runlevel x
      •Le runlevel de l'action initdefault est lancé par la ligne correspondante
      22
      •Les 7 niveaux (runlevels) :
      0 : halte (Ne pas mettre initdefault égal à cette valeur)
      1 : mode mono-utilisateur (principalement pour le dépannage)
      2 : mode multi-utilisateurs avec gestion du réseau mais sans gestion NFS
      3 : mode multi-utilisateurs complet
      4 : pas utilisé sous LINUX
      5 : mode graphique (X11) -> login graphique
      6 : redémarrage (ne pas mettre initdefault égal à cet valeur)
      23
      •A chaque runlevel correspond un répertoire /etc/rc.d/rcX.d/ contenant des liens symboliques sur des services à démarrer présents dans /etc/rc.d/init.d/
      •Les liens sont formés selon la syntaxe :
      [S|K]XX<nom_du_script>
      - S lance le script avec l'argument start (démarrage du service)
      - K lance le script avec l'argument stop (arrêt du service)
      - XX est un rang qui fixe l'ordre dans lequel les scripts sont lancés
      24
      •Pour ajouter des scripts ou toute autre commande que vous désirez lancer au démarrage de la machine, 2 méthodes:
      –Ajouter les scripts correspondant dans /etc/rc.d/init.d et faire des lien symbolique à partir de /etc/rc.d/rcX.d
      –Ecrire le script /etc/rc.d/rc.local qui sera lancer dans /etc/inittab. Dans ce script ajoutez des scripts ou toute autre commande que vous désirez lancer au démarrage de la machine.
      25
      Par exemple :
      Mon répertoire /etc/rc.d/rc3.d/ contient entre autres les liens suivants :
      S10network
      S55sshd
      S90crond
      Ce qui signifie qu'à l'entrée dans le runlevel 3, le service réseau (network) sera démarré avant le démon sshd qui lui-même précédera le démon crond.
       

      Attached Files:

      Last edited: May 8, 2017
      Loading...
Tags:

Share This Page

Share