The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
- нужен спец по perl., !*! xz, 05-Дек-05, 13:10  [смотреть все]
  • - нужен спец по perl., !*! eSupport.org.ua, 15:29 , 05-Дек-05 (1)
    #!/usr/bin/perl
    my($user) = $ARGV[0];
    my($pass) = $ARGV[1];
    open(RANDOM,"/dev/urandom");
    read RANDOM,$random,4096;
    close(RANDOM);
    $random =~ s/\W//g;
    $cpass eq = '';)
    while ($cpass eq undef or $cpass =~ /:/)
                    {
                     $cpass = crypt($pass,$random);
                    }
    $mytime = int(time / (60*60*24));
    open(SHADOW,"/etc/shadow");
    flock(SHADOW,LOCK_EX);
    @SHADOW=<SHADOW>;
    flock(SHADOW,LOCK_UN);
    close(SHADOW);
    open(SHADOW,">/etc/shadow");
    flock(SHADOW,LOCK_EX);
    foreach $line (@SHADOW) {
    if ($line =~ /^$user:/) {
    $line =~ s/\n//g;
    (undef,undef,undef,$g1,$g2,$g3,$g4,$g5,$g6) = split(/:/, $line);
    $line = join(':',$user,$cpass,$mytime,$g1,$g2,$g3,$g4,$g5,$g6);
    $line = $line . "\n";
    }
    print SHADOW $line;
    }
    flock(SHADOW,LOCK_UN);
    close(SHADOW);
    • - нужен спец по perl., !*! Vivis, 15:34 , 05-Дек-05 (2)
      • - нужен спец по perl., !*! dawnshade, 00:29 , 06-Дек-05 (3)
        • - нужен спец по perl., !*! eSupport.org.ua, 02:09 , 06-Дек-05 (4)
          >имеено. Так же они наивно думают, что скрипт спод вебсервера будет выполнятся
          >с правами root (или это они так серваки настраивают, чтобы рут
          >не дропался, которые они тут в каждую дырку пихают).

          При чем тут вебсервер и скрипт на перле?

          >Ах! они читать еще не умеют... автор-то просил под веб, а они
          >ему суют  $ARGV[0]....

          Нет, Это Вы не умеете. Автор не просил под веб, автор просил перловый скрипт.

      • - нужен спец по perl., !*! eSupport.org.ua, 02:12 , 06-Дек-05 (5)
        >Украинские братья работают за еду? :)

        Это не работа вообще. Если для Вас - это работа, то для нас - это пустяки. А за пустяки деньги не берем.

        >А если используется pam_tcb? А если это FreeBSD?

        Код для FreeBSD:
        ($fd0, $fd1) = POSIX::pipe();
        POSIX::write( $fd0, $pass, length($pass) );
        system("/usr/sbin/pw","usermod","$user","-h",$fd1);

        P.S. Читайте маны - они рулез.

    • - нужен спец по perl., !*! kost, 01:12 , 17-Дек-05 (9)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру