Programme python
Fermé
bansan
Messages postés
122
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
8 mai 2011
-
5 oct. 2008 à 02:51
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 novembre 2024 - 6 oct. 2008 à 00:39
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 novembre 2024 - 6 oct. 2008 à 00:39
A voir également:
- Programme python
- Programme demarrage windows 10 - Guide
- Citizen code python - Accueil - Outils
- \R python ✓ - Forum Python
- Ce programme est écrit en python ✓ - Forum Python
3 réponses
bansan
Messages postés
122
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
8 mai 2011
1
5 oct. 2008 à 16:02
5 oct. 2008 à 16:02
Merci
Voici le fichier passwd
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
et voici celui de group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:eleve
fax:x:21:
voice:x:22:
cdrom:x:24:eleve
floppy:x:25:eleve
tape:x:26:
sudo:x:27:
audio:x:29:eleve
dip:x:30:
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:eleve
sasl:x:45:
plugdev:x:46:eleve
Le champ 4 dans le fichier utilisateur correspond au numero du groupe
et dans le fichier group le champ numero de groupe est positionné en numero 3
J'aimerais faire un programme qui me liste les utilisateurs correspondant a tel groupe
Merci
Voici le fichier passwd
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
et voici celui de group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:eleve
fax:x:21:
voice:x:22:
cdrom:x:24:eleve
floppy:x:25:eleve
tape:x:26:
sudo:x:27:
audio:x:29:eleve
dip:x:30:
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:eleve
sasl:x:45:
plugdev:x:46:eleve
Le champ 4 dans le fichier utilisateur correspond au numero du groupe
et dans le fichier group le champ numero de groupe est positionné en numero 3
J'aimerais faire un programme qui me liste les utilisateurs correspondant a tel groupe
Merci
mamiemando
Messages postés
33357
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
13 novembre 2024
7 805
5 oct. 2008 à 15:49
5 oct. 2008 à 15:49
Ben je ne sais pas si c'est un exerice, mais sinon en shell et si c'est sur ta machine, c'est simplement la commande groups :
Pour qu'on puisse t'aider sur le programme python il faudrait que tu nous donne un exemple de fichier passwd et group.
Bonne chance
(mando@aldur) (~) $ groups mando dialout cdrom floppy audio video plugdev scard
Pour qu'on puisse t'aider sur le programme python il faudrait que tu nous donne un exemple de fichier passwd et group.
Bonne chance
mamiemando
Messages postés
33357
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
13 novembre 2024
7 805
6 oct. 2008 à 00:39
6 oct. 2008 à 00:39
Alors ça fait longtemps que je n'ai pas écrit de python mais grosso modo, tu lis chaque ligne de passwd, tu la splittes sur le caractère ':', et tu extraies le champ 0 dans une variable 'user' et le champ 4 dans un variable 'group'. Tu cherches dans un dictionnaire (appelé 'groups' par exemple) à la clé 'group' un ensemble. Si la clé n'existe pas tu crées un Set, sinon tu insères dans le Set trouvé la valeur user.
Ensuite tu lis le fichier de groupe. Même chose tu lis par ligne et tu splittes sur ':'. La 4e valeur peut être une liste d'users, il faut donc la splitter à son tour sur ','. Tu insères dans ton dictionnary 'groups' ces nouveaux utilisateur. À vérifier mais je pense aussi que tu peux mettre des noms de groupe dans cette liste (et en cas d'ambiguïté, c'est à dire si la chaîne désigne aussi bien un groupe qu'un utilisateur, je ne sais pas comment tu traites le cas).
Ceci fait il ne reste plus qu'à rechercher dans le dictionnary groups le groupe demandé. Pense à utiliser les balises de code (bouton <> au dessus de la boîte de réponse) afin que tes messages sur le forum soient plus lisibles.
Bonne chance
Ensuite tu lis le fichier de groupe. Même chose tu lis par ligne et tu splittes sur ':'. La 4e valeur peut être une liste d'users, il faut donc la splitter à son tour sur ','. Tu insères dans ton dictionnary 'groups' ces nouveaux utilisateur. À vérifier mais je pense aussi que tu peux mettre des noms de groupe dans cette liste (et en cas d'ambiguïté, c'est à dire si la chaîne désigne aussi bien un groupe qu'un utilisateur, je ne sais pas comment tu traites le cas).
Ceci fait il ne reste plus qu'à rechercher dans le dictionnary groups le groupe demandé. Pense à utiliser les balises de code (bouton <> au dessus de la boîte de réponse) afin que tes messages sur le forum soient plus lisibles.
Bonne chance