Passer par la commande système Python n'est pas à mon gout très élégant :-)
Y a t-il un moyen plus simple ?
Merci
A noter qu'on peut sous Linux utiliser le module pwd, avec les fonctions getpwall (), getpwnam () et getpuid()
Par exemple :
import pwd
users = [ u.pw_name for u in pdw.getpwall() if u.pw_shell = "/bin/bash" and u.pw_dir.startswith ("/home") ]
Cela ne resout pas l'identification d'un utilisateur physique mais simplifie la syntaxe.
Alain BARTHE
Laurent wrote:
probablement que si le shell est /bin/false, c'est pas un utilisateur... ça dépend : mes utilisateurs de mail sont en shell /bin/false... parce
que je ne veux pas qu'ils aient accès à un shell, justement.. Maintenant, sont-ce des utilisateurs au sens de /c-note/ ... c'est une autre question :)
Sur une machine que j'administre, je mets manuellement l'adresse mail des utilisateurs "humains" dans le champ gecos, sous la forme
Ainsi, quand j'ai une intervention a faire sur la machine a une date connue je fais une recherche du caractere @ sur le champ gecos et je recupere la liste des adresses des utilisateurs auxquels je dois envoyer un message d'avertissement.
C'est simple, pas standard, mais tres pratique.
Laurent wrote:
probablement que si le shell est /bin/false, c'est pas un utilisateur...
ça dépend : mes utilisateurs de mail sont en shell /bin/false... parce
que je ne veux pas qu'ils aient accès à un shell, justement..
Maintenant, sont-ce des utilisateurs au sens de /c-note/ ... c'est une
autre question :)
Sur une machine que j'administre, je mets manuellement l'adresse mail
des utilisateurs "humains" dans le champ gecos,
sous la forme prenom.nom@domaine.fr
Ainsi, quand j'ai une intervention a faire sur la machine a une date
connue je fais une recherche du caractere @ sur le champ gecos et je
recupere la liste des adresses des utilisateurs auxquels je dois envoyer
un message d'avertissement.
probablement que si le shell est /bin/false, c'est pas un utilisateur... ça dépend : mes utilisateurs de mail sont en shell /bin/false... parce
que je ne veux pas qu'ils aient accès à un shell, justement.. Maintenant, sont-ce des utilisateurs au sens de /c-note/ ... c'est une autre question :)
Sur une machine que j'administre, je mets manuellement l'adresse mail des utilisateurs "humains" dans le champ gecos, sous la forme
Ainsi, quand j'ai une intervention a faire sur la machine a une date connue je fais une recherche du caractere @ sur le champ gecos et je recupere la liste des adresses des utilisateurs auxquels je dois envoyer un message d'avertissement.