yp_cat

(PHP 4 >= 4.0.6, PHP 5 < 5.1.0)

yp_catВозвращает массив, содержащий всю карту

Описание

yp_cat ( string $domain , string $map ) : array

Возвращает все записи карты.

Список параметров

domain

Доменное имя NIS.

map

Карта NIS.

Возвращаемые значения

Возвращает массив всех записей карты, значения ключей карты в виде индексов массива и записи карты в виде данных массива.

add a note add a note

User Contributed Notes 2 notes

up
1
Anonymous
18 years ago
I hope this will userfull to somebody:

function auth_by_nis($login,$password,$nis_domain='-d xxx_nis',$nis_host='-h xxx.it')
{
    $output = shell_exec("ypcat $nis_domain $nis_host passwd");
    $lines=split("\n",$output);
    foreach ($lines as $k=>$v)
    {
        list($login_nis,$pw_nis)=split(":",$v);
        if ($login_nis != $login)continue;
        //login trovata: ora si verifica la password
        $salt=substr( $pw_nis , 0 ,2);
        $pass_cript=crypt($password, $salt);
        if($pass_cript == $pw_nis) return 1;
        else return 0;   
    }
    return 0;
}
up
0
Nicholas Humfrey
17 years ago
yp_cat is lacking in PHP5 - this is a suitable (slow, forking) replacement...

<?php
    $handle
= popen( 'ypcat passwd.byname', 'r' );
    while ((
$line = fgets($handle, 1024)) !== FALSE) {
        list(
$user,$pass,$uid,$gid,$gcos,$home,$shell) = explode (':', $line);
        list(
$name,$room,$work,$home,$position)  = explode (',', $gcos);

       
## Do Stuff ##

   
}  
   
pclose( $handle );
?>
To Top