Perl :lister les comptes d'une machine

Fermé
tchabat - 4 janv. 2008 à 15:56
tchabat Messages postés 25 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 12 septembre 2008 - 6 janv. 2008 à 12:42
Bonjour, je débute avec perl et je veux concevoir un script qui pourra me lister le nbre de compte sur une machine ainsi que leur droit (admin, public ou invité) merci d'avance
A voir également:

8 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 janv. 2008 à 16:40
Salut,

leur droit sur quoi?

regarde ici des fonctions qui peuvent t'aider http://perl.mines-albi.fr/DocFr/perlfunc.html#item_getgrnam
sinon tu perux parser manuellement le fichier /etc/passwd
0
tchabat Messages postés 25 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 12 septembre 2008 2
4 janv. 2008 à 17:10
je vais essayer le lien je parle des droit administrateur par exemple ou soit des comptes limités si tu vois ce que je veux dire
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 janv. 2008 à 17:23
Pour savoir si un utilisateur a des droits administrateur, il faut tester l'UID d'utilisateur
Si l'UID est zéro alors l'utilisateur n'as pas des droits administrateur, il est carrément l'administrateur

Si tu parles des droits d'endossement (SetUID et SetGID) alors la question est toujours la même : droits sur quoi??
0
tchabat Messages postés 25 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 12 septembre 2008 2
5 janv. 2008 à 07:38
au fait le script consiste a faire ressortir tous les comptes ou groupes de comptes crées dans une machine avec des droits SUR LA MACHINE definis pour chaque compte . qu'est ce que les droits d'endossements? comment teste t-on les UID?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 janv. 2008 à 10:55
voici une commande (que tu peux l'écrire dans un script)

perl -e 'while (($user,undef,$uid) = getpwent()){print "user=$user UID=$uid\n"}'


Les comptes créer sur une machine n'ont des droits que sur leur répertoire personnel. Pas besoin de chercher loin.
Ensuite il faut voir la variable PATH qui contient les répertoires avec des commandes que l'utilisateurs peux exécuter.

Regarde ici pour les droits d'endossement
0
tchabat Messages postés 25 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 12 septembre 2008 2
5 janv. 2008 à 12:24
c'est vrai que les comptes dans la machine a son repertoire perso et tu m'aides bcp depuis 3 jours je me bat pour comprendre perl j'ai telecharger MIME::lite mais depuis je n'arrive pas à l'installer (je cherche la doc sur le net en ce moment) car linux n'est pas mon environnement habituel mais je dois faire tourner l(appli sur linux merci pour tes differents intervention
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 janv. 2008 à 13:25
Salut,

Pour installer MIME::LIte il suffit de faire ça (xxx c'est pour la version - à toi de mettre le nom complet de l'archive)

en utilisateur
 $ tar xzvf MIME-Lite-xxx.tar.gz
 $ cd MIME-Lite-xxx
 $ perl Makefile.PL
 $ make
 $ make test
et en root (toujours dans le même répertoire)
 # make install
Il est possible que d'autres modules doivent être installés pour pouvoir installer MIME::Lite, à toi de voir.
0
tchabat Messages postés 25 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 12 septembre 2008 2
6 janv. 2008 à 12:42
j'ai pu installer MIME:Lite et j'ai fait le test avec ce programme pris sur le net

# /usr/bin/ perl
use strict;
use MIME:Lite;
my $msg = new MIME::Lite
From =>'me@myhost.com',
To =>'you@yourhost.com',
Cc =>'some@other.com, some@more.com',
Subject =>'A simple text message',
Type =>'TEXT',
Data =>"Efficace non ?";
$msg -> send;
en changeant la chaine de caractere de From et To par ma boite email et supprimer la chaine de caractere de Cc =>'', comment faire dois-je utiliser un autre module?
0