====== Différences ======

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

cours:activite1:gestion_des_utilisateurs [2013/11/07 15:12]
r.doiteau créée
cours:activite1:gestion_des_utilisateurs [2019/05/11 14:35] (Version actuelle)
Ligne 5: Ligne 5:
 1. Citer les différents type de comptes utilisateurs sous Unix. 1. Citer les différents type de comptes utilisateurs sous Unix.
  
-   Il existe 3 types d'utilisateurs sous unixRootusergroup+   compte administration : root 
 +   ​compte ​d'applications ​bin, daemonapachessh 
 +   ​compte utilisateur ​    
 +   
  
 2. Dans quel fichier sont renseignés les groupes secondaires d'un compte utilisateur ? 2. Dans quel fichier sont renseignés les groupes secondaires d'un compte utilisateur ?
  
-   Ils sont renseigné de le fichier /etc/passwd+   Ils sont renseigné de le fichier /etc/group
    
  
 3. Comment ajouter le compte utilisateur nicolas sur le système sachant que le groupe formateur existant doit être son groupe principal ? 3. Comment ajouter le compte utilisateur nicolas sur le système sachant que le groupe formateur existant doit être son groupe principal ?
  
-   c:useradd -formateur nicolas+   ​useradd -formateur nicolas
  
 4. Que fait la commande ? find / -user 502 4. Que fait la commande ? find / -user 502
  
-   c: elle retourne ​le nom de l'​utilisateur ayant l'UID égal à 502.+   Elle affiche ​le nom de tous les fichiers appartenant à l'​utilisateur ayant l'UID égal à 502 dans l'​arborescence du système.
  
 5. Quel droit signifie qu'un programme doit être lancé avec l'​identifiant du propriétaire du fichier ? 5. Quel droit signifie qu'un programme doit être lancé avec l'​identifiant du propriétaire du fichier ?
  
-   b: SUID +   ​SUID ​permet d'​allouer temporairement les droits du propriétaire à un utilisateur :  
 +    ---s------ ​ ou  ---S------
  
-Exercice 1 : Utilisateurs et groupes+  Un fichier avec les droits 
 + 
 +  -rwxr-xr-x 
 + 
 +  auquel on ajoute le droit SUID aura donc la notation 
 + 
 +  -rwsr-xr-x 
 + 
 + 
 +==== Exercice 1 : Utilisateurs et groupes ​====
  
 1. Se connecter en tant que root sur une console texte. 1. Se connecter en tant que root sur une console texte.
  
-rabiven2@tssi:​~$ ​su +  ​su
-Mot de passe :  +
-root@tssi:/​home/​rabiven2# ​+
  
 2. Lister les comptes utilisateurs et les groupes existants sur le système. 2. Lister les comptes utilisateurs et les groupes existants sur le système.
  
-root@tssi:/​home/​rabiven2# ​cat /etc/passwd +   cat /etc/group
-root:​x:​0:​0:​root:/​root:/​bin/​bash +
-daemon:​x:​1:​1:​daemon:/​usr/​sbin:/​bin/​sh +
-bin:​x:​2:​2:​bin:/​bin:/​bin/​sh +
-sys:​x:​3:​3:​sys:/​dev:/​bin/​sh +
-sync:​x:​4:​65534:​sync:/​bin:/​bin/​sync +
-games:​x:​5:​60:​games:/​usr/​games:/​bin/​sh +
-man:​x:​6:​12:​man:/​var/​cache/​man:/​bin/​sh +
-lp:​x:​7:​7:​lp:/​var/​spool/​lpd:/​bin/​sh +
-mail:​x:​8:​8:​mail:/​var/​mail:/​bin/​sh +
-news:​x:​9:​9:​news:/​var/​spool/​news:/​bin/​sh +
-uucp:​x:​10:​10:​uucp:/​var/​spool/​uucp:/​bin/​sh +
-proxy:​x:​13:​13:​proxy:/​bin:/​bin/​sh +
-www-data:​x:​33:​33:​www-data:/​var/​www:/​bin/​sh +
-backup:​x:​34:​34:​backup:/​var/​backups:/​bin/​sh +
-list:​x:​38:​38:​Mailing List Manager:/​var/​list:/​bin/​sh +
-irc:​x:​39:​39:​ircd:/​var/​run/​ircd:/​bin/​sh +
-gnats:​x:​41:​41:​Gnats Bug-Reporting System (admin):/​var/​lib/​gnats:/​bin/​sh +
-nobody:​x:​65534:​65534:​nobody:/​nonexistent:/​bin/​sh +
-libuuid:​x:​100:​101::/​var/​lib/​libuuid:/​bin/​sh +
-messagebus:​x:​101:​103::/​var/​run/​dbus:/​bin/​false +
-Debian-exim:​x:​102:​104::/​var/​spool/​exim4:/​bin/​false +
-statd:​x:​103:​65534::/​var/​lib/​nfs:/​bin/​false +
-avahi:​x:​104:​107:​Avahi mDNS daemon,,,:/​var/​run/​avahi-daemon:/​bin/​false +
-usbmux:​x:​105:​46:​usbmux daemon,,,:/​home/​usbmux:/​bin/​false +
-Debian-gdm:​x:​106:​114:​Gnome Display Manager:/​var/​lib/​gdm3:/​bin/​false +
-sshd:​x:​107:​65534::/​var/​run/​sshd:/​usr/​sbin/​nologin +
-saned:​x:​108:​116::/​home/​saned:/​bin/​false +
-hplip:​x:​109:​7:​HPLIP system user,,,:/​var/​run/​hplip:/​bin/​false +
-rabiven2:​x:​1000:​1000:​rabiven2,,,:/​home/​rabiven2:/​bin/​bash +
-haldaemon:​x:​110:​117:​Hardware abstraction layer,,,:/​var/​run/​hald:/​bin/​false +
-toor:​x:​0:​1005::/​root:/​bin/​sh +
-tux:​x:​1001:​1003:,,,:/​home/​tux:/​bin/​bash +
-tux2:​x:​1002:​1004:,,,:/​home/​tux2:/​bin/​bash +
-root@tssi:/​home/​rabiven2#​ ^C +
-root@tssi:/​home/​rabiven2# ​+
  
 3. Quels sont l'UID et le GID du compte root ? 3. Quels sont l'UID et le GID du compte root ?
  
-root:​x:​0:​0:​root:/​root:/​bin/​bash+  ​root:​x:​0:​0:​root:/​root:/​bin/​bash
  
- UID = 0 et GID = 0+   UID = 0 et GID = 0
  
 5. Créer les groupes grp1, grp2 et grp3. Le GID du groupe grp3 doit être 823. 5. Créer les groupes grp1, grp2 et grp3. Le GID du groupe grp3 doit être 823.
  
-root@tssi:/home/rabiven2# groupadd grp1 +  ​root@debian:/usr/share# groupadd grp1 
-root@tssi:/home/rabiven2# groupadd grp2 +  root@debian:/usr/share# groupadd grp2 
-root@tssi:/home/rabiven2# groupadd -g 823 grp3+  root@debian:/usr/share# groupadd -g 823 grp3
  
 6. Créer les comptes utilisateurs util1, util2, et util3 ayant respectivement les groupes grp1, 6. Créer les comptes utilisateurs util1, util2, et util3 ayant respectivement les groupes grp1,
Ligne 87: Ligne 63:
 grp3. Le pseudonyme tux1 de l'​utilisateur util1 doit être renseigné dans la configuration. grp3. Le pseudonyme tux1 de l'​utilisateur util1 doit être renseigné dans la configuration.
  
-root@tssi:/home/rabiven2# useradd -g grp1 util1 +  ​root@debian:/usr/share# useradd -g grp1 util1 
-root@tssi:/home/rabiven2# useradd -g grp2 -G grp1,grp3 util2 +  root@debian:/usr/share# useradd -g grp2 -G grp1,grp3 util2 
-root@tssi:/home/rabiven2# useradd -g grp3 util3+  root@debian:/usr/share# useradd -g grp3 util3
  
-7. Noter les UID et GID des comptes utilisateurs et ds groupes créés précédement. 
  
-root@tssi:/home/rabiven2# id util1 +7. Noter les UID et GID des comptes utilisateurs et des groupes créés précédement. 
-uid=1003(util1) gid=1006(grp1) groupes=1006(grp1) + 
-root@tssi:/home/rabiven2# id util2 +  ​root@debian:/usr/share# id util1 
-uid=1004(util2) gid=1007(grp2) groupes=1007(grp2),1006(grp1),​823(grp3) +uid=1001(util1) gid=1001(grp1) groupes=1001(grp1) 
-root@tssi:/home/rabiven2# id util3 +  root@debian:/usr/share# id util2 
-uid=1005(util3) gid=823(grp3) groupes=823(grp3)+uid=1002(util2) gid=1002(grp2) groupes=1002(grp2),1001(grp1),​823(grp3) 
 +  root@debian:/usr/share# id util3 
 +uid=1003(util3) gid=823(grp3) groupes=823(grp3) 
  
 8. Supprimer le groupe grp3. Cela est-il possible ? Pourquoi ? 8. Supprimer le groupe grp3. Cela est-il possible ? Pourquoi ?
  
-root@tssi:/home/rabiven2# delgroup grp3 +  ​root@debian:/usr/share# delgroup grp3 
-/​usr/​sbin/​delgroup: ​« util3 » possèdent toujours ​« grp3 » en tant que groupe ​primaire ​!+/​usr/​sbin/​delgroup: ​« util3 » ​possèdent toujours ​« grp3 » ​en tant que groupe ​primaire ! 
  
 9. Supprimer le compte utilisateur util3 sans supprimer son répertoire personnel et supprimer le groupe grp3. 9. Supprimer le compte utilisateur util3 sans supprimer son répertoire personnel et supprimer le groupe grp3.
  
-root@tssi:/home/rabiven2# userdel util3 +  ​root@debian:/usr/share# userdel util3 
-root@tssi:/home/rabiven2# delgroup grp3 +  root@debian:/usr/share# delgroup grp3 
-Suppression du groupe ​« grp3 »... +  Suppression du groupe ​« grp3 »... 
-Fait.+  Fait.
  
-Exercice 2 : Droits d'​accès+ 
 +==== Exercice 2 : Droits d'​accès ​====
  
 1. En tant que util1, créer le répertoire rep1 dans /tmp puis créer le fichier vide fic1 dans ce répertoire. Quels sont les droits associés à ces nouveaux fichiers ? 1. En tant que util1, créer le répertoire rep1 dans /tmp puis créer le fichier vide fic1 dans ce répertoire. Quels sont les droits associés à ces nouveaux fichiers ?
  
-root@tssi:/home# usermod -g grp1 util1 +  ​root@debian:/usr/sharesu util1 
-root@tssi:/homeid util1 +  ​$ ​mkdir /tmp/rep1 
-uid=1003(util1) gid=1006(grp1) groupes=1006(grp1) +  ​$ exit 
-root@tssi:/​home# ​mkdir /tmp/rep1 +  root@debian:/usr/sharels -ail /tmp/rep1 
-root@tssi:/​home#​ cd /tmp +  total 8 
-root@tssi:/​tmp#​ ls +  ​798448 drwxr-xr- 2 util1 grp1 4096 nov  7 16:12 . 
-entree_secret ​ gnome-system-monitor.rabiven2.2311133919 ​ lienficb  ​  ​plans  ​  ​tux  ​   vmware-rabiven2 +  ​783371 drwxrwxrwt 13 root  root 4096 nov.   7 16:12 ..
-f        ​id orbit-Debian-gdm ​ rep1  ​  ​virtual-rabiven2.K8pTWo ​ vmware-root +
-f2        ​lienfica orbit-rabiven2 ​   ssh-CEtPNz2678 ​ VMwareDnD  ​   vmware-root-3671762689 +
-root@tssi:/tmp# cd rep1 +
-root@tssi:/tmp/rep1touch fic1 +
-root@tssi:/tmp/rep1# ls -l +
-total 0 +
--rw-r--r-- 1 root root 0  9 oct 16:45 fic1 +
-root@tssi:/​tmp/​rep1# ​+
  
 2. Modifier la valeur de umask de util1 à 007. 2. Modifier la valeur de umask de util1 à 007.
  
-root@tssi:/tmp/rep1# umask +  ​root@debian:/usr/sharesu util1 
-0022 +  $ umask 
-root@tssi:/​tmp/​rep1# ​umask 007+  0022 
 +  ​$ ​umask 007 
 +  $ umask 
 +  0007 
  
 3. Créer un nouveau répertoire rep2 contenant le fichier vide fic2 dans /tmp, et regarder les droits associés à ces nouveaux fichiers. Cela a-t-il changé les droits des fichiers déjà existant ? 3. Créer un nouveau répertoire rep2 contenant le fichier vide fic2 dans /tmp, et regarder les droits associés à ces nouveaux fichiers. Cela a-t-il changé les droits des fichiers déjà existant ?
  
-root@tssi:/tmp/rep1# cd .. +  $ mkdir /tmp/rep2 
-root@tssi:/tmp# mkdir rep2 +  $ touch /​tmp/​rep2/​fic2 
-root@tssi:/tmp# cd rep2 +  $ ls -ail /tmp/rep2/fic2 
-root@tssi:/tmp/rep2# touch fic2 +  ​800155 ​-rw-rw---- 1 util1 grp1 nov  7 16:18 /tmp/rep2/fic2 
-root@tssi:/tmp/rep2# ls -l +
-total 0 +
--rw-rw---- 1 root root  9 oct 16:52 fic2+
  
 4. Changer les droits du fichiers fic2 afin que personne ne puisse le modifier. 4. Changer les droits du fichiers fic2 afin que personne ne puisse le modifier.
  
-root@tssi:/tmp/rep2# chmod 555 fic2 +  $ chmod 550 /tmp/rep2/fic2 
-root@tssi:/tmp/rep2# ls -l +  $ ls -ail /tmp/rep2/fic2 
-total 0 +  ​800155 ​-r-xr-x--- util1 grp1 nov  7 16:18 /tmp/rep2/fic2 
--r-xr-xr-x 1 root root  9 oct 16:52 fic2+
  
 5. Se connecter en tant que util2 sur une console texte libre. 5. Se connecter en tant que util2 sur une console texte libre.
 6. Essayer de supprimer le fichier /​tmp/​rep2/​fic2. Est-ce possible ? Pourquoi ? 6. Essayer de supprimer le fichier /​tmp/​rep2/​fic2. Est-ce possible ? Pourquoi ?
  
-rabiven2@tssi:~su util2 +  util2@debian:/usr/sharerm /​tmp/​rep2/​fic2 
-Mot de passe :  +rm supprimer fichier (protégé en écriture) « /​tmp/​rep2/​fic2 » ?​  
-util2@tssi:/home/rabiven2rm /tmp/rep2/fic2 +Permission non accordée 
-rmimpossible de supprimer « /​tmp/​rep2/​fic2 ​»Permission non accordée+  util2@debian:/usr/sharecat /tmp/rep 
 +rep1/ rep2/  
 +  ​util2@debian:/usr/share$ cat /​tmp/​rep2/​fic2 
 +toto 
 +   
 +  utils2 n'a pas les droits d'​écriture 
 +:TMP
  
 7. Entant que root, créer le programme C /​tmp/​droits.c suivant : 7. Entant que root, créer le programme C /​tmp/​droits.c suivant :
  
 +<​code=c>​
 #include < stdio.h> #include < stdio.h>
 #include < stdlib.h>​ #include < stdlib.h>​
Ligne 182: Ligne 163:
  
 } }
 +</​code>​
  
 8. Compiler le code source précédent avec la commande : 8. Compiler le code source précédent avec la commande :
-gcc droits.c -o droits.exe+ 
 + gcc droits.c -o droits.exe 
 9. Exécuter successivement le programme droits.exe en tant que root et util1. Quel est le résultat affiché ? Qu'en déduire ? 9. Exécuter successivement le programme droits.exe en tant que root et util1. Quel est le résultat affiché ? Qu'en déduire ?
  
-root@tssi:/​tmp#​ vim droits.c ​ + 
-root@tssi:/tmp# gcc droits.c -o droits.exe +  root@debian:/tmp# ./​droits.exe 
-root@tssi:/tmp# ./​droits.exe +  UID réel : 0 
-UID réel: 0 +  UID effectif : 0 
-UID effectif: 0 +  GID réel : 0 
-GID réel: 0 +  GID effectif : 0 
-GID effectif: 0 +  root@debian:/tmp# su util1 
-root@tssi:/tmp# su util1 +  $ ./​droits.exe 
-util1@tssi:/​tmp$ ./​droits.exe +  UID réel : 1001 
-UID réel: ​1003 +  UID effectif : 1001 
-UID effectif: ​1003 +  GID réel : 1001 
-GID réel: ​1006 +  GID effectif : 1001 
-GID effectif: ​1006 +
-util1@tssi:/​tmp$ ​+
  
 10. Positionner le droit SUID sur ce fichier et exécuter de nouveau ce programme en tant que root et util1. Quelle est la différence ? 10. Positionner le droit SUID sur ce fichier et exécuter de nouveau ce programme en tant que root et util1. Quelle est la différence ?
  
-root@tssi:/tmp# chmod 4000 droits.exe + 
-root@tssi:/tmp# ./​droits.exe +  ​root@debian:/tmp# chmod 4000 droits.exe  
-bash: ./​droits.exe:​ Permission non accordée +  root@debian:/tmp# ./​droits.exe 
-root@tssi:/tmp# su util1 +  bash: ./​droits.exe:​ Permission non accordée 
-util1@tssi:/tmp$ ./​droits.exe +  root@debian:/tmp# su util1 
-bash: ./​droits.exe:​ Permission non accordée +  $ bash 
-util1@tssi:/​tmp$ ^C +  ​util1@debian:/tmp$ ./​droits.exe 
-util1@tssi:/​tmp$ ​+  bash: ./​droits.exe:​ Permission non accordée 
  
 11. Changer le propriétaire et le groupe du fichier /​tmp/​droits.exe en util2 et grp2. 11. Changer le propriétaire et le groupe du fichier /​tmp/​droits.exe en util2 et grp2.
  
-root@tssi:/tmp# chown util2 /​tmp/​droits.exe + 
-root@tssi:/tmp# chgrp grp2 /​tmp/​droits.exe+  ​root@debian:/tmp# chown util2 /​tmp/​droits.exe  
 +  root@debian:/tmp# chgrp grp2 /​tmp/​droits.exe ​
  
 12. Positionner le droit SGID sur ce fichier et exécuter de nouveau ce programme en tant que root et util1. 12. Positionner le droit SGID sur ce fichier et exécuter de nouveau ce programme en tant que root et util1.
  
-root@tssi:/tmp# chmod 6110 droits.exe +  ​root@debian:/tmp# chmod 6110 droits.exe  
-root@tssi:/tmp# ./​droits.exe +  root@debian:/tmp# ./​droits.exe  
-UID réel: 0 +  UID réel : 0 
-UID effectif: ​1004 +  UID effectif : 1002 
-GID réel: 0 +  GID réel : 0 
-GID effectif: ​1007 +  GID effectif : 1002 
-root@tssi:/tmp# su util1 +  root@debian:/​tmp#​ ls -ail 
-util1@tssi:/tmp$ ./​droits.exe +  total 68 
-bash: ./​droits.exe:​ Permission non accordée+  783371 drwxrwxrwt 12 root       ​root ​      4096 nov.   8 09:29 . 
 +       2 drwxr-xr-x 25 root       ​root ​      4096 nov.   7 17:01 .. 
 +  800133 -rw-r--r-- ​ 1 root       ​root ​       297 nov.   8 09:29 droits.c 
 +  800151 ---s--s--- ​ 1 util2      grp2       7436 nov.   8 09:29 droits.exe 
 +  798957 drwxrwxrwt ​ 2 root       ​root ​      4096 nov.   8 09:23 .ICE-unix 
 +  798962 drwx------ ​ 2 Debian-gdm Debian-gdm 4096 nov.   8 09:23 pulse-BtBEnh3eMTDt 
 +  798973 drwx------ ​ 2 romain ​    ​romain ​    4096 nov.   8 09:23 pulse-JtkyoEsgQCKO 
 +  798955 drwx------ ​ 2 root       ​root ​      4096 nov.   8 09:22 pulse-PKdhtXMmr18n 
 +  798961 drwx------ ​ 2 romain ​    ​romain ​    4096 nov.   8 09:23 ssh-ckU3A6WqzCkd 
 +  800126 drwxr-xr-x ​ 2 romain ​    ​romain ​    4096 nov.   8 09:23 tracker-romain 
 +  783494 drwxrwxrwt ​ 2 root       ​root ​      4096 nov.   8 09:22 VMwareDnD 
 +  798974 drwx------ ​ 2 romain ​    ​romain ​    4096 nov.   8 09:23 vmware-romain 
 +  783800 drwx------ ​ 2 root       ​root ​      4096 nov.   8 09:22 vmware-root 
 +  798958 -r--r--r-- ​ 1 root       ​root ​        11 nov.   8 09:22 .X0-lock 
 +  783808 drwxrwxrwt ​ 2 root       ​root ​      4096 nov.   8 09:22 .X11-unix 
 +  798966 -rw------- ​ 1 romain ​    ​romain ​      11 nov.   8 09:23 xdg-screensaver-romain--0 
 +  root@debian:/tmp# su util1 
 +  $ bash 
 +  ​util1@debian:/tmp$ ./​droits.exe 
 +  bash: ./​droits.exe:​ Permission non accordée 
  
 13. Modifier de nouveau le propriétaire et le groupe du fichier /​tmp/​droits.exe en root et root. 13. Modifier de nouveau le propriétaire et le groupe du fichier /​tmp/​droits.exe en root et root.
  
-root@tssi:/tmp# chown root droits.exe +  ​root@debian:/tmp# chown root droits.exe  
-root@tssi:/tmp# chgrp root droits.exe +  root@debian:/tmp# chgrp root droits.exe  
 +  
 14. Positionner les droits d'​accès à 0755 sur le fichier /​tmp/​droits.exe. 14. Positionner les droits d'​accès à 0755 sur le fichier /​tmp/​droits.exe.
 +
 +  root@debian:/​tmp#​ chmod 0755 /​tmp/​droits.exe ​
  
 15 Ajouter la ligne suivante au fichier /​etc/​sudoers : 15 Ajouter la ligne suivante au fichier /​etc/​sudoers :
Ligne 247: Ligne 254:
 successivement en tant que util1 et util2. Est-ce possible ? Si oui, sous quelle identité ? successivement en tant que util1 et util2. Est-ce possible ? Si oui, sous quelle identité ?
  
-root@tssi:/tmp# visudo +  $ sudo /​tmp/​droits.exe 
-root@tssi:/​tmp#​ ./​droits.exe +  ​[sudo] password for util1:  
-UID réel: 0 +  ​UID réel : 0 
-UID effectif: 0 +  UID effectif : 0 
-GID réel: 0 +  GID réel : 0 
-GID effectif: 0 +  GID effectif : 0
-root@tssi:/​tmp#​ su util1 +
-util1@tssi:/​tmp$ ./​droits.exe +
-UID réel: 1003 +
-UID effectif: 1003 +
-GID réel: 1006 +
-GID effectif: 1006 +
-util1@tssi:/​tmp$ su util2 +
-Mot de passe :  +
-util2@tssi:/​tmp$ ./​droits.exe +
-UID réel: 1004 +
-UID effectif: 1004 +
-GID réel: 1007 +
-GID effectif: 1007+
  
-Exercice 3 : Pour aller plus loin+ 
 +==== Exercice 3 : Pour aller plus loin ====
  
 1. Mettre en place un répertoire de travail commun pour les membres du grp1 ; tout nouveau fichier créé à l'​intérieur de celui-ci devra appartenir à ce groupe. 1. Mettre en place un répertoire de travail commun pour les membres du grp1 ; tout nouveau fichier créé à l'​intérieur de celui-ci devra appartenir à ce groupe.
  
-util2@tssi:/tmp$ mkdir repgrp1 +  root@debian:/tmp# chmod 2070 commungrp1
-util2@tssi:/tmp$ chgrp grp1 repgrp1 +
-util2@tssi:/​tmp$ chmod 2010 repgrp1+
  
-TAG 
-Supprimer un utilisateur 
  
-userdel 
-deluser –remove-home utilisateur 
  
 
cours/activite1/gestion_des_utilisateurs.1383833578.txt.gz · Dernière modification: 2019/05/11 14:35 (modification externe)     Haut de page