Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
858 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Utilisation structure en C sous unix

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utilisation structure en C sous unix

n°130551
-bigfoot-
Posté le 25-04-2002 à 08:56:54  profilanswer
 

Le système utilise de nombreuses structures pour enregistrer son état:  
 
       stuctures du noyau: accessibles par les 'appels-système'  
       autres structures, enregistrées dans des fichiers, accessibles  par des fonctions fournies avec le noyau UNIX.  
 
On utilisera les structures:  
 
       "struct  passwd"  qui correspond à une ligne du fichier '/etc/passwd'  , plus le nom de l'utilisateur.  
              On y accedera par la fonction "getpwuid()"  
       "struct group" qui correspond à une ligne du fichier '/etc/group' , plus le nom du groupe.  
              On y accedera par la fonction "getgrgid()"  
       "struct stat" qui  contient les caractéristiques d'un fichier enregistrés dans le noyau.  
              On y accede par l'appel-système  "stat()"  
              On s'interessera seulement aux éléments:  
                    Numéro d'utilisateur  du propriètaire du fichier.  
                    Numéro de groupe du groupe propriètaire du fichier.  
                    Autorisations d'accès au fichier.  
 
 
 
Ecrire la commande 'autorisation' , ayant en paramètre le nom du fichier à examiner.  
La commande affiche:  
 
       le numéro d'utilisateur de la commande. (voir "getuid()" )  
       le numéro de groupe de l'utilisateur de la commande.  (voir  "getgid()" )  
 
La commande affiche:  
 
       le nom de l'utilisateur de la commande.  
       Le nom de groupe de l'utilisateur de la commande.  
 
La commande affiche:  
 
       Si l'utilisateur est propriètaire du fichier  
              "Je suis propriètaire du fichier XXX"  
              "Mes autorisations d'accès sont" (suivant les cas)  
                    "LECTURE"  
                    "ECRITURE"  
                    "EXECUTION"  
 
       Sinon si l'utilisateur est du groupe propriètaire du fichier  
              "Je suis du groupe propriètaire du fichier XXX"  
              "Mes autorisations d'accès sont" (suivant les cas)  
                    "LECTURE"  
                    "ECRITURE"  
                    "EXECUTION"  
 
       Si l'utilisateur n'appartient pas au 2 cas précedant  
              "Je suis ni propriètaire, ni du groupe propriètaire du fichier XXX"  
              "Mes autorisations d'accès sont" (suivant les cas)  
                    "LECTURE"  
                    "ECRITURE"  
                    "EXECUTION"  
 
 
 
Ecrire les fonctions:  
 
       char * nom_util(int num_util)  
              num_util  :  numéro d'utilisateur  
              restitue un pointeur sur le nom de l'utilisateur correspondant au numéro  
 
       char * nom_grp(int num_grp)  
              num_grp  :  numéro de groupe d'utilisateur  
              restitue un pointeur sur le nom de groupe d'utilisateur correspondant au numéro de groupe  
       void printmode(int  m)  
              m: autorisation d'accès obtenu de la structure stat , décalé suivant les cas de 0, 3 ou 6 bits  
              affiche:  
                    LECTURE  si  m correspond à la constante S_IREAD  
                    ECRITURE si  m correspond à la constante  S_IWRITE  
                    EXECUTION  si m  correspond à la constante   S_IEXEC

mood
Publicité
Posté le 25-04-2002 à 08:56:54  profilanswer
 

n°130561
R@NNIS
Tout est possible ou presque.
Posté le 25-04-2002 à 09:23:02  profilanswer
 

regarde sur osa je t ai repondu


---------------
Mes News

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Utilisation structure en C sous unix

 

Sujets relatifs
déclaration et utilisation d'une dll sous VC++[C & UNIX]
[vb 6.0] un bon site qui explique l'utilisation du controle ADOutilisation de datediff en vbscript??
{Shell Unix] Vérifier qu'il n'y a que des chiffres dans une chaîne[C - unix] rediriger un signal
[Unix korn shell] calculs de dates ![Réponse] Lancer une procédure PL/SQL à partir d'un shell Unix
ftp sous unix[UNIX - Korn shell] histoire de Process Id ???
Plus de sujets relatifs à : Utilisation structure en C sous unix


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR