Perl :lister les comptes d'une machine

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
Configuration: Linux Red Hat
Firefox 1.5.0.3

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. Modérateur
      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??
      1. 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?
        1. Modérateur
          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
          1. 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
            1. Modérateur
              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.
              1. 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?