Справился сам. В общем, если кому интересно, делается это так.
1. Настройка и запуск серверной части на FreeBSD - как обычно, по манам.
2. Настройка клиентской части на Linux - тоже как обычно.
3. На FreeBSD файлик /etc/master.passwd копируем в /var/yp/master.passwd.nis. Правим, выкидываем ненужные для NIS-а аккаунты.
4. Правим мой скрипт ypbsdlin.pl на предмет $domain и запускаем. Скрипт перелопатит master.passwd под формат линуха, затем запустит ypinit, затем создаст нужные симлинки.
5. После этого все должно работать. ^_^
P.S. Вот сам ypbsdlin.pl:
#!/usr/bin/perl
$ypdir = "/var/yp/";
$domain = "IZILIN"; # Change it to your NIS domain name!
$master = "master.passwd.nis"; # Change it to your BSD passwd file!
open( ypmaster, $ypdir.$master);
open( ypshadow, ">".$ypdir."master.passwd");
open( yppasswd, ">".$ypdir."passwd");
while (<ypmaster>) {
if (/(.*):(.*):(.*):(.*):(.*):(.*):(.*):(.*):(.*):(.*)/) {
print ypshadow "$1:$2:$3:$4:$6:$7:::\n";
$p = ( $2 ? "x" : "" );
print yppasswd "$1:$p:$3:$4:$8:$9:$10\n";
}
}
close( ypmaster);
close( ypshadow);
close( yppasswd);
chmod( 0600, $ypdir."master.passwd", $ypdir."passwd");
system( "ypinit -m $domain");
symlink( "master.passwd.byname", $ypdir."/".$domain."/shadow.byname");
symlink( "master.passwd.byuid", $ypdir."/".$domain."/shadow.byuid");