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