The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"NIS: FreeBSD server & Linux clients"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"NIS: FreeBSD server & Linux clients"
Сообщение от Keeper emailИскать по авторуВ закладки on 12-Мрт-04, 14:41  (MSK)
Поднял на фришной машине сервер NIS, на линуховой - клиент. На линухе списки пользователей видно. Зайти под юзером без пароля можно. Зайти под юзером с паролем - не пускает. Если на фришной машине сгенерить базу с UNSECURE=yes в /var/yp/Makefile, тогда заходится нормально. То есть проблема не в алгоритме шифрования паролей. Но это не выход, так как на клиентской тачке видно все хеши паролей по ypcat passwd.

Кто сталкивался - подскажите, куда копать.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "NIS: FreeBSD server & Linux clients"
Сообщение от Keeper Искать по авторуВ закладки on 16-Мрт-04, 13:28  (MSK)
Справился сам. В общем, если кому интересно, делается это так.

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");

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "NIS: FreeBSD server & Linux clients"
Сообщение от lavr emailИскать по авторуВ закладки on 16-Мрт-04, 13:37  (MSK)
>Справился сам. В общем, если кому интересно, делается это так.
>
>1. Настройка и запуск серверной части на FreeBSD - как обычно, по
>манам.
>2. Настройка клиентской части на Linux - тоже как обычно.
>3. На FreeBSD файлик /etc/master.passwd копируем в /var/yp/master.passwd.nis. Правим, выкидываем ненужные для
>NIS-а аккаунты.

мб ты что-то делал не так?
master.passwd - это одно, а нисовый - это другое и в DES, видимо поэтому
ты и упустил что-то и как результат вручную сделал то что должно быть
автоматом.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "NIS: FreeBSD server & Linux clients"
Сообщение от Keeper Искать по авторуВ закладки on 16-Мрт-04, 13:51  (MSK)
>мб ты что-то делал не так?
>master.passwd - это одно, а нисовый - это другое и в DES, видимо поэтому
>ты и упустил что-то и как результат вручную сделал то что должно
>быть автоматом.

DES, MD5 - значения не имеет. У меня скопились и те, и те. Я подсовывал линуху локально в /etc/shadow фришные пароли - и те, и те - и он их принимал.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "NIS: FreeBSD server & Linux clients"
Сообщение от lavr emailИскать по авторуВ закладки on 16-Мрт-04, 14:08  (MSK)
>>мб ты что-то делал не так?
>>master.passwd - это одно, а нисовый - это другое и в DES, видимо поэтому
>>ты и упустил что-то и как результат вручную сделал то что должно
>>быть автоматом.
>
>DES, MD5 - значения не имеет. У меня скопились и те, и
>те. Я подсовывал линуху локально в /etc/shadow фришные пароли - и
>те, и те - и он их принимал.

да ты что, вот видимо в этом и была твоя проблема, скорее всего неверно
установил и настроил nis-сервер.

собственно все есть в man nis

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "NIS: FreeBSD server & Linux clients"
Сообщение от Keeper Искать по авторуВ закладки on 16-Мрт-04, 14:11  (MSK)
>>мб ты что-то делал не так?

Что я делал ДО этого.
1. Вписываем в /etc/rc.conf nisdomainname="IZILIN", nis_server_enable="YES"
2. Вписывать в /etc/rc.conf nis_yppasswdd_enable="YES" не стал - не хочу, чтоб юзвери пароли меняли
3. /etc/netstart
4. cp /etc/master.passwd /var/yp/, затем выкидываем служебные аккаунты.
5. ypinit -m IZILIN

И - с линухом не работало. Подозреваю, что линух требует с NIS-сервера ypcat shadow.{byname,byuid}, а фришный ypinit таких баз вообще не делает. Еще может быть из-за разницы в форматах /etc/master.passwd на фре и /etc/shadow на линухе (т.к. /etc/passwd весьма похожи и там, и там).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "NIS: FreeBSD server & Linux clients"
Сообщение от lavr emailИскать по авторуВ закладки on 16-Мрт-04, 15:08  (MSK)
>>>мб ты что-то делал не так?
>
>Что я делал ДО этого.
>1. Вписываем в /etc/rc.conf nisdomainname="IZILIN", nis_server_enable="YES"
>2. Вписывать в /etc/rc.conf nis_yppasswdd_enable="YES" не стал - не хочу, чтоб юзвери
>пароли меняли
>3. /etc/netstart
>4. cp /etc/master.passwd /var/yp/, затем выкидываем служебные аккаунты.
>5. ypinit -m IZILIN
>
>И - с линухом не работало. Подозреваю, что линух требует с NIS-сервера
>ypcat shadow.{byname,byuid}, а фришный ypinit таких баз вообще не делает. Еще
>может быть из-за разницы в форматах /etc/master.passwd на фре и /etc/shadow
>на линухе (т.к. /etc/passwd весьма похожи и там, и там).

извини, ты прав, в Makefile.dist отсутствует создание shadow.byname|byuid, хотя самостоятельно отпатчить /var/yp/Makefile.dist[Makefile] не сложно:

...
master.passwd:  master.passwd.byname master.passwd.byuid shadow.byuid shadow.byname
...
shadow.byname: $(MASTER)
        @echo "Updating $@..."
.if ${MASTER} == "/dev/null"
        @echo "Master.passwd source file not found -- skipping"
.else
        $(CAT) $(MASTER) | \
        $(AWK) -F: '{ if ($$1 != "" && $$1 !~ "^#.*" && $$1 != "+") \
        print $$1"\t"$$1":"$$2":12345:0:99999:7:::" }' $^ \
        | $(DBLOAD) ${S} -f -i $(MASTER) -o $(YPMAPDIR)/$@ - $(TMP); \
        $(RMV) $(TMP) $@
        @$(DBLOAD) -c
        @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOMAIN) $@; fi
        @if [ ! $(NOPUSH) ]; then echo "Pushed $@ map. " ; fi
.endif
        

shadow.byuid: $(MASTER)
        @echo "Updating $@..."
.if ${MASTER} == "/dev/null"
        @echo "Master.passwd source file not found -- skipping"
.else
        $(CAT) $(MASTER) | \
        $(AWK) -F: '{ if ($$1 != "" && $$1 !~ "^#.*" && $$1 != "+") \
        print $$3"\t"$$0 }' $^ \
        | $(DBLOAD) ${S} -f -i $(MASTER) -o $(YPMAPDIR)/$@ - $(TMP); \
        $(RMV) $(TMP) $@
        @$(DBLOAD) -c
        @if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOMAIN) $@; fi
        @if [ ! $(NOPUSH) ]; then echo "Pushed $@ map. " ; fi
.endif
...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "NIS: FreeBSD server & Linux clients"
Сообщение от zapovit emailИскать по авторуВ закладки on 23-Май-04, 22:46  (MSK)
Наткнулся на эти же грабельки совсем недавно. Очень своевременное решение, спасибо огромное!

Хотя есть одно НО - первый рецепт работает как часы, а вот второй не помогает:

=====8<=====
>в Makefile.dist отсутствует создание shadow.byname|byuid, хотя самостоятельно отпатчить /var/yp/Makefile.dist[Makefile]
>не сложно:
>
>master.passwd:  master.passwd.byname master.passwd.byuid shadow.byuid shadow.byname
=====8<=====

у моего сервера странная реакция на эту строчку.

make жалуется, что не знает как построить master.passwd.byname

Кто занет - чего ж ему надо?

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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