Les scripts et fichiers du projet MINAL2


[Sommaire]

 

1- Fichiers du serveur LINUX modifiés par l'installation :

Un certain nombre de fichiers (configuration des serveurs) déjà présents sur la machine serveur vont être modifiés à l'installation. On trouve :

 

 

2- Fichiers du répertoire /home/netlogon :

Le répertoire netlogon créé lors de l'installation comporte 2 fichiers :

 

 

3- Fichier de la page d'accueil du projet (racine du serveur web) :

La racine du serveur web contient, outre les répertoires /adm, /cgi et /img un fichier html qui est la page d'accueil du projet : minal2.htm. Il regroupe les liens vers le menu de l'administrateur, celui des responsables et l'inscription en ligne des utilisateurs.

 

 

4- Fichiers du répertoire /img (chemin relatif à la racine du serveur web) :

Le répertoire /img contient l'image (la seule) du projet : but_list.gif. C'est un bouton de liste...

 

 

5- Fichiers du répertoire /adm (chemin relatif à la racine du serveur web) :

Le répertoire /adm contient les fichiers suivants :

Le répertoire est limité en accès mais aucune donnée confidentielle n'y figure en clair, contrairement à la version précédente de MINAL dans laquelle les mots de passe figuraient en clair dans les certains fichiers (protégés aussi toutefois).

 

 

6- Scripts du répertoire /cgi (chemin relatif à la racine du serveur web) :

Le projet comprend 33 scripts situés dans le répertoire cgi (chemin relatif à la racine du serveur web) écrits en PERL (un des langages de programmation utilisés pour le fonctionnement des CGI de serveur web) :

Un fichier supplémentaire (minal2.cfg) regroupe l'ensemble des paramètres nécessaires au fonctionnement des scripts. Il est créé lors de l'installation en fonction des valeurs indiquées par défaut ou modifiées du script d'installation install.pl.

6-1 Scripts destinés à l'administrateur (répertoire /cgi) :

adm0.pl
menu administrateur
droits : 0755
fichiers lus : /adm/message.txt /etc/group /etc/passwd
fichiers modifiés :
entrées :
suite :
détails :

adm1.pl
inscription d'un nouvel utilisateur : formulaire
droits : 0755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés :
entrées :
suite : adm2.pl
détails :
- propose un formulaire pour saisir Nom Prénom du nouvel utilisateur, login, pw et définir les appartenances au(x) groupe(s) d'utilisateur(s)
- l'appartenance à au moins un groupe est requise

adm2.pl
inscription d'un nouvel utilisateur : enregistrement
droits : 4755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés : /etc/passwd
entrées :
suite : resp2.pl
détails :
- ajout de l'utilisateur dans /etc/passwd
- création répertoire perso dans /home/minal2/rep
- création répertoire perso dans /home/minal2/profil


adm3.pl
modification ou suppression d'utilisateurs -> listing
droits : 0755
fichiers lus : /etc/passwd
fichiers modifiés :
entrées : dest (et login)
suite :
détails :
- affiche la liste des utilisateurs du fichier /etc/passwd dont l'uid > 10000
- dest=sup suppression d'un utilisateur (suite adm6.pl)
- dest=mod modification des données d'un utilisateur (suite adm7.pl)


adm4.pl
modification responsable -> formulaire d'affichage
droits : 0755
fichiers lus : /etc/group /etc/passwd
entrées : login
suite adm5.pl
détails :
- affiche tous les groupes du fichier /etc/group dont le gid > 10000
- offre la possibilité de rendre le responsable indépendament membre et responsable des groupes
- possibilité de cocher un/plusieurs groupe



adm5.pl
modification responsable -> enregistrement
droits : 4755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés : /etc/group /etc/passwd
entrées : login
suite :
détails :
si responsable d'un groupe XX :
- ajout du login dans groupe resp_XX
si membre d'un groupe XX :
- ajout du login dans groupe grp_XX


adm6.pl
suppression d'un utilisateur
droits : 4755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés : /etc/group /etc/passwd
entrées : login
suite :
détails :
- supprime l'entrée dans le fichier /etc/passwd
- supprime l'entrée dans le fichier /etc/group
- supprime le login dans tous les groupes d'appartenance dans le fichier /etc/group
- suppression répertoire personnel /home/minal2/rep/login et de son contenu (sauvegarde possible)
- suppression de son profil /home/minal2/profil/login et de son contenu



adm7.pl
modification d'un utilisateur -> formulaire d'affichage
droits : 0755
fichiers lus : /etc/group /etc/passwd
entrées : login
suite : adm8.pl
détails :
- affiche les données de l'utilisateur (Nom-Prénom, login, appartenance au groupes d'utilisateurs) mais pas le password
- possibilité de saisir un nouveau mot de passe mais pas de changer le login



adm8.pl
modification d'un utilisateur -> enregistrement
droits : 4755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés : /etc/group /etc/passwd
entrées : nompren login(hidden)
suite :
détails :
- si nouveau password ou nouveau nompren, modification /etc/passwd
- si changement d'appartenance à un groupe, modification fichier /etc/group


adm9.pl
ajout d'un groupe d'utilisateur -> formulaire
droits : 0755
fichiers lus :
entrées :
suite : adm10.pl
détails :


adm10.pl
ajout d'un groupe d'utilisateur -> enregistrement
droits : 4755
fichiers lus : /etc/group
fichiers modifiés : /etc/group
entrées : grp
suite :
détails :
- regarde si le groupe XX existe déjà dans les fichiers /etc/passwd et /etc/group
- ajoute un groupe grp_XX dans le fichier /etc/group avec gid incrémenté
- ajoute un groupe resp_XX dans le fichier /etc/group avec gid incrémenté et avec admin comme membre
- crée un répertoire de groupe /home/minal2/rep/XX avec admin comme propriétaire et le groupe XX (0770)


adm11.pl
maintenance d'un groupe : affichage des groupes existants + choix de la maintenance + sauvegarde
droits : 0755
fichiers lus : /etc/group
fichiers modifiés :
entrées :
suite : adm12.pl
détails :
- offre le choix de supprimer le groupe, d'inclure ou non les membres associés à ce groupe ainsi que leur répertoire personnel, de vider seulement le répertoire de groupe et de sauvegarder les fichiers supprimés

adm12.pl
suppression d'un groupe : enregistrement
droits : 4755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés : /etc/group /etc/passwd
entrées : grp
suite :
détails :
- effectue les opérations en rapport avec les choix faits dans adm11.pl


adm13.pl
affichage des informations de groupe -> liste des groupes
droits : 0755
fichiers lus : /etc/group
fichiers modifiés :
entrées :
suite : adm14.pl
détails :
- affiche la liste des groupes d'après le fichier /etc/group


adm14.pl
affichage des informations d'un groupe -> tableau de utilisateurs et des responsables avec lien pour modifier/supprimer
droits : 0755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés :
entrées :
suite :
détails :
- affiche les informations du groupe sélectionné d'après le fichier /etc/group et /etc/passwd


adm15.pl
ajout d'un responsable -> formulaire
droits : 0755
fichiers lus : /etc/group
fichiers modifiés :
entrées :
suite : adm16.pl
détails :
- affiche tous les groupes du fichier /etc/group dont le gid > 10000
- offre la possibilité de rendre le responsable indépendament membre et responsable des groupes
- possibilité de cocher un/plusieurs groupe


adm16.pl
ajout d'un responsable -> enregistrement
droits : 4755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés : /etc/group /etc/passwd /adm/usr_file /adm/grp_file
entrées :
suite :
détails :
- ajoute l'entrée dans le fichier /etc/passwd
- ajoute l'entrée dans le fichier /etc/group (groupe resp)
- ajoute le login dans tous les groupes du responsable dans le fichier /etc/group
- ajoute répertoire personnel /home/minal2/rep/login
- ajoute répertoire profil /home/minal2/profil/login
- ajoute son entrée dans le fichier de restriction d'accès /adm/usr_file
- ajoute son login dans le groupe resp du fichier de restriction d'accès /adm/grp_file


adm17.pl
validation des utilisateurs en attente -> listing
droits : 0755
fichiers lus : /etc/group /etc/passwd /adm/insc.tmp
fichiers modifiés : /etc/group /etc/passwd
entrées :
suite : adm18.pl
détails :
- liste les utilisateurs qui se sont inscrits
- offre le choix de valider l'utilisateur en attente ou de le supprimer ou de ne pas statuer immédiatement
- dans les cas de validation ou de suppression, l'action supprimera l'utilisateur en attente du fichier /adm/insc.tmp

adm18.pl
validation des utilisateurs en attente -> ajout / suppression / attente
droits : 4755
fichiers lus : /etc/group /etc/passwd /adm/insc.tmp
fichiers modifiés : /etc/group /etc/passwd /adm/insc.tmp
entrées : login
suite :
détails :
- vérifie si le login n'existe pas déjà dans /etc/passwd
- vérifie la syntaxe login/pw
- met à jour les fichiers /etc/group /etc/passwd afin de délivrer un accès aux utilisateurs ajoutés
- crée les répertoires personnels des utilisateurs et répertoire de profil
- ajoute dans /etc/passwd et /etc/group

adm19.pl
changement du mot de passe de l'administrateur
droits : 4755
fichiers lus : /etc/passwd /adm/usr_file
entrées : login, ex_pw, new_pw1, new_pw2
suite :
détails :
- vérifie si l'ancien mot de passe est conforme
- met à jour les fichiers /etc/passwd et /adm/usr_file afin de changer à la fois le mot de passe de l'accès au réseau (lors de la connexion d'une machine client) et celui qui protège le lancement des scripts de gestion de l'admin (commençant par "adm")

adm20.pl
modification ou suppression de responsable -> listing
droits : 0755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés :
entrées : dest (et login)
suite :
détails :
- affiche la liste des utilisateurs du fichier /etc/passwd dont l'uid > 10000
- dest=sup suppression d'un responsable (suite adm21.pl) proposition de sauvegarde
- dest=mod modification des données d'un responsable (suite adm4.pl)

adm21.pl
suppression d'un responsable -> action
droits : 4755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés : /etc/group /etc/passwd
entrées : login
suite :
détails :
- supprime l'entrée dans le fichier /etc/passwd
- supprime l'entrée dans le fichier /etc/group
- supprime le login dans tous les groupes d'appartenance dans le fichier /etc/group
- suppression répertoire personnel /home/minal2/rep/login et de son contenu
- suppression de son profil /home/minal2/profil/login et de son contenu
- suppression de son entrée dans le fichier de restriction d'accès /adm/usr_file
- supppression du login dans le groupe resp du fichier de restriction d'accès /adm/grp_file

adm22.pl
messagerie responsables -> administrateur : affichage de la liste des messages
droits : 0755
fichiers lus : /adm/message.txt
fichiers modifiés :
entrées :
suite : adm23.pl
détails :
- classe les message en 2 catégories : lus et non-lus

adm23.pl
messagerie responsables -> administrateur : affichage d'un message
droits : 4755
fichiers lus : /adm/message.txt
fichiers modifiés : /adm/message.txt
entrées : identifiant du message (numéro)
suite :
détails :
- transforme le message en "lu" dès son affichage


6-2 Scripts destinés aux responsables (répertoire /cgi) :

resp0.pl
menu responsable de groupe
droits : 0755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés :
entrées :
suite :
détails :
- vérification que l'utilisateur est bien responsable d'au moins un groupe

resp1.pl
inscription d'un nouvel utilisateur -> formulaire
droits : 0755
fichiers lus : /etc/group /etc/passwd
entrées :
fichiers modifiés :
suite : resp2.pl
détails :
- propose un formulaire pour saisir Nom Prénom du nouvel utilisateur, login, pw et définir les appartenances au(x) groupe(s) d'utilisateur(s)
- l'appartenance à au moins un groupe est requise

resp2.pl
inscription d'un nouvel utilisateur -> enregistrement
droits : 4755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés : /etc/group /etc/passwd
entrées : Nom_Prénom du nouvel utilisateur, login, pw et les appartenances au(x) groupe(s)
suite :
détails :
- ajout de l'utilisateur dans /etc/passwd
- rajout du login dans le groupe utilisateur (/etc/group)
- création répertoire perso dans /home/minal2/rep
- création répertoire perso dans /home/minal2/profil


resp3.pl
importation ou modification d'un utilisateur -> listing
droits : 0755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés :
entrées : dest (soit 'aj' pour importer, soit 'mod' pour modifier)
suite : resp4.pl pour la modification, resp6.pl pour l'import
détails :
- dest = aj : affiche une liste déroulante des utilisateurs n'appartenant à aucun des groupes du responsable une liste des groupes du responsables (cases à cocher)
- dest = mod : affiche une liste déroulante des utilisateurs appartenant à au moins un des groupes du responsable

resp4.pl
modification d'un utilisateur -> formulaire d'affichage
droits : 0755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés :
entrées : login
suite : resp5.pl
détails :
- affiche les données de l'utilisateur (Nom Prénom, login, appartenance au(x) groupe(s))
- n'affiche pas le pw mais propose d'un saisir un nouveau
- pas de possibilité de changer de login

resp5.pl
modification d'un utilisateur : enregistrement
droits : 4755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés : /etc/group /etc/passwd
entrées : nom prenom, login (hidden), pw + groupes
suite :
détails :
- enregistrement des données dans les fichiers concernés
- possibilité ici de ne faire appartenir l'utilisateur à aucun groupe

resp6.pl
importation d'un utilisateur déjà inscrit -> enregistrement
droits : 4755
fichiers lus : /etc/group
fichiers modifiés : /etc/group
entrées : login + groupes
suite :
détails :
- enregistrement des modifications dans /etc/group

resp7.pl
validation des utilisateurs en attente -> listing
droits : 0755
fichiers lus : /etc/group /etc/passwd /adm/insc.tmp
fichiers modifiés :
entrées :
suite : resp8.pl
détails :
- liste les utilisateurs qui se sont inscrits et qui appartiennent à au moins un des groupes du responsable
- offre le choix de valider l'utilisateur en attente ou de le supprimer ou de ne pas statuer immédiatement
- dans les cas de validation ou de suppression, l'action supprimera l'utilisateur en attente du fichier /adm/insc.tmp

resp8.pl
validation des utilisateurs en attente -> ajout / suppression / attente
droits : 4755
fichiers lus : /etc/group /etc/passwd /adm/insc.tmp
fichiers modifiés : /etc/group /etc/passwd /adm/insc.tmp
entrées : login
suite :
détails :
- vérifie si le login n'existe pas déjà dans /etc/passwd
- vérifie la syntaxe login/pw
- met à jour les fichiers /etc/group /etc/passwd afin de délivrer un accès aux utilisateurs
- crée les répertoires personnels des utilisateurs

resp9.pl
affichage des utilisateurs appartenant aux groupes d'un responsable -> listing
droits : 0755
fichiers lus : /etc/group /etc/passwd
fichiers modifiés :
entrées :
suite :
détails :
- lien pour modifier les caractéristiques de l'utilisateur

resp10.pl
changement du mot de passe du responsable
droits : 4755
fichiers lus : /etc/passwd /adm/usr_file
fichiers modifiés : /etc/group /etc/passwd
entrées : login, ex_pw, new_pw1, new_pw2
suite :
détails :
- vérifie si l'ancien mot de passe est conforme
- met à jour les fichiers /etc/passwd et /adm/usr_file afin de changer à la fois le mot de passe de l'accès au réseau (lors de la connexion d'une machine client) et celui qui protège le lancement des scripts de gestion du responsable

resp11.pl
messagerie responsable / admistrateur -> affichage formulaire
droits : 0755
fichiers lus : /etc/passwd
fichiers modifiés :
entrées :
suite :
détails :


resp12.pl
messagerie responsable / admistrateur -> enregistrement
droits : 4755
fichiers lus : /etc/passwd
fichiers modifiés : /adm/message.txt
entrées : sujet, message, login
suite :
détails :
- enregistre le message dans le fichier /adm/message.txt



6-3 Scripts destinés aux utilisateurs (répertoire /cgi) :

usr1.pl
inscription des utilisateurs -> formulaire
droits : 0755
fichiers lus : /etc/group
entrées :
suite : usr2.pl
détails :
- liste déroulante de tous les groupes existant (en choix unique)


usr2.pl
inscription des utilisateurs -> enregistrement
droits : 4755
fichiers lus : /etc/group /etc/passwd
entrées :
suite :
détails :
- contrôle la présence de doublon du login dans les fichiers /etc/group /etc/passwd