Script pour pour ajout user system Linux

Bonjour,

j'ai un script perl qui ajout ajout des user systems linux, quand j'execute en mode commande ça fonctionne parfaitement.
si je l'intègre dans un dans une page cgi ça marche pas et j'ai le message suisvant qui s'affiche dans error_log de apache

Can't lock password file:
Permission denied stopped at # ligne au je fais appel à la commande useradd

comment faire pour me débloquer

merci.
Configuration: Windows XP
Firefox 3.0.3

6 réponses

  1. Modérateur
    Re,

    Les apostrophes inverses on les utilises plutôt pour la capture de résultat d'une commande
    D'accord pour $PASSWORD où tu capture le mot de passe

    Voici un exemple (à toi d'adapter)
    root@debian:~/.Trash# cat smeagole.pl
    #!/usr/bin/perl
    #
    $PASSWORD='a';
    $OWNER='smeagole';
    $PASS_CRYPT=qx/mkpasswd -H md5 "a"/;
    chomp($PASS_CRYPT);
    system "useradd", "-m", "-s", "/bin/bash", "--password", $PASS_CRYPT, $OWNER;
    __END__
    root@debian:~/.Trash# grep smeagole /etc/passwd
    root@debian:~/.Trash# perl smeagole.pl
    root@debian:~/.Trash# grep smeagole /etc/passwd
    smeagole:x:1007:1007::/home/smeagole:/bin/bash
    
    1
    1. Pour etre plus clair j'administre une plateforme web mutualisé.

      j'ai deja developper plusieurs scripts shell pour l'administration et le gestion des vhosts, des users, des comptes ftp ...

      j'aimerais bien intégrer ses scripts avec du php ou perl our l'acces web.

      is there any possible way

      thanks
      0
      1. je pense que c possible

        plusieurs web based appliactions permettent la gestions des users systeme

        comme le fameux exemple Webmin.
        0
        1. voila

          #!/usr/bin/perl -w
          use CGI;
          ;

          $html = new CGI;
          print $html->header,
          $html->start_html(
          -title=>'Rénse',
          -bgcolor=>'white',
          -link=>'red'
          );

          $OWNER="login_user";

          $PASSWORD=`sh script_qui_génére_mot_de_passe.sh`;

          `useradd -s /bin/false $OWNER && echo "$PASSWORD"|passwd --stdin $OWNER`;

          print $html->end_html;

          merci
          0
          1. Pour information les script CGI n'ont pas accès en administrateur donc à priori pas faisable.
            0
            1. Modérateur
              Salut,

              On peu voir ton code?
              -1