NIS очень прикольная штука. Она позволяет авторизоваться на всех машинах, где есть её клиент с помощью учетных данных локальных пользователей на сервере. Ну т. е. если мы поменяем пароль на свою учетку, то все клиенты автоматом подтянут изменения. Да и просто удобно.
Добавим адрес нашего сервера NIS:
aptitude -y install nis portmap
Итак, установим нужные пакеты и их зависимости командой:
aptitude -y install nis portmap
Когда спросит, введем имя нашего домена - например, example.com
Автостарт службы сфейлиться, но не пугайтесь - ему просто не хватает некоторых настроек.
aptitude -y install nis portmap
Когда спросит, введем имя нашего домена - например, example.com
Автостарт службы сфейлиться, но не пугайтесь - ему просто не хватает некоторых настроек.
Займемся конфигурацией.
1) nano /etc/default/nis
Здесь прописываем:
1) nano /etc/default/nis
Здесь прописываем:
NISSERVER=master
2) nano /etc/ypserv.securenets
Здесь закомментируем строчку, разрешающую доступ со всех IP:
2) nano /etc/ypserv.securenets
Здесь закомментируем строчку, разрешающую доступ со всех IP:
# This line gives access to everybody. PLEASE ADJUST!
# make it comment
# 0.0.0.0 0.0.0.0
И пропишем адреса наших подсетей, например:
255.255.255.0 10.86.35.0
3) nano /var/yp/Makefile
В 119-й линии добавим shadow:
# make it comment
# 0.0.0.0 0.0.0.0
И пропишем адреса наших подсетей, например:
255.255.255.0 10.86.35.0
3) nano /var/yp/Makefile
В 119-й линии добавим shadow:
ALL = passwd shadow group hosts rpc services netid protocols netgrp
4) nano /etc/hosts
4) nano /etc/hosts
Добавим адрес нашего сервера NIS:
127.0.0.1 localhost nis.example.com nis
#Добавим также сетевой адрес сервера
10.86.35.10 nis.example.com nis
5) Обновим базу данных NIS сервера командой (введя на запрос имя нашего nis сервера как мы его прописали чуть выше - nis):
#Добавим также сетевой адрес сервера
10.86.35.10 nis.example.com nis
5) Обновим базу данных NIS сервера командой (введя на запрос имя нашего nis сервера как мы его прописали чуть выше - nis):
/usr/lib/yp/ypinit -m
At this point, we have to construct a list of the hosts which will run NIS
servers. master is in the list of NIS server hosts. Please continue to add
the names for the other hosts, one per line. When you are done with the
list, type a <control D>
. next host to add: nis
next host to add:
# push Ctrl+D
The current list of NIS servers looks like this:
localhost
nis
Is this correct? [y/n: y]
y
servers. master is in the list of NIS server hosts. Please continue to add
the names for the other hosts, one per line. When you are done with the
list, type a <control D>
. next host to add: nis
next host to add:
# push Ctrl+D
The current list of NIS servers looks like this:
localhost
nis
Is this correct? [y/n: y]
y
We need a few minutes to build the databases...
Building /var/yp/server.world/ypservers...
gethostbyname(): Success
Running /var/yp/Makefile...
make[1]: Entering directory `/var/yp/server.world'
Updating passwd.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating passwd.byuid...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating group.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating group.bygid...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating shadow.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating hosts.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating hosts.byaddr...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating rpc.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating rpc.bynumber...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating services.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating services.byservicename...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating netid.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating protocols.bynumber...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating protocols.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating netgroup...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating netgroup.byhost...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating netgroup.byuser...
failed to send 'clear' to local ypserv: RPC: Program not registeredmake[1]: Leaving directory `/var/yp/server.world'
master has been set up as a NIS master server.
Now you can run ypinit -s master on all slave server.
6) Запускаем демона NIS
Building /var/yp/server.world/ypservers...
gethostbyname(): Success
Running /var/yp/Makefile...
make[1]: Entering directory `/var/yp/server.world'
Updating passwd.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating passwd.byuid...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating group.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating group.bygid...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating shadow.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating hosts.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating hosts.byaddr...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating rpc.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating rpc.bynumber...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating services.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating services.byservicename...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating netid.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating protocols.bynumber...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating protocols.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating netgroup...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating netgroup.byhost...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating netgroup.byuser...
failed to send 'clear' to local ypserv: RPC: Program not registeredmake[1]: Leaving directory `/var/yp/server.world'
master has been set up as a NIS master server.
Now you can run ypinit -s master on all slave server.
6) Запускаем демона NIS
/etc/init.d/nis start
Starting NIS services: ypserv yppasswdd ypxfrd ypbind.
7) Необходимо проапдейтить базу NIS:
cd /var/yp
make
Настройка клиентов NIS:
1) Установка:
7) Необходимо проапдейтить базу NIS:
cd /var/yp
make
Настройка клиентов NIS:
1) Установка:
aptitude -y install nis portmap
2) Конфигурация NIS Client - подредактируем несколько конфигов
nano /etc/yp.conf
# add at the last: (domain name) (server) (NIS server's hostname)
domain example.com server nis.example.com
nano /etc/nsswitch.conf
passwd: compat nis
nano /etc/pam.d/common-session
Добавляем в конец для автоматического создания домашних директорий:
# add at the last: (domain name) (server) (NIS server's hostname)
domain example.com server nis.example.com
nano /etc/nsswitch.conf
passwd: compat nis
group: compat nis
shadow: compat nis
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 nis
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Добавляем в конец для автоматического создания домашних директорий:
session optional pam_mkhomedir.so skel=/etc/skel umask=077
/etc/init.d/nis restart
Всё. Можем заходить с помощью логина из NIS сервера.
Несколько полезных команд:
ypwhich - показывает адрес NIS-сервера
/etc/init.d/nis restart
Всё. Можем заходить с помощью логина из NIS сервера.
Несколько полезных команд:
ypwhich - показывает адрес NIS-сервера
ypcat passwd - показывает пользователей NIS-сервера
ypcat hosts - показывает список хостов
ypcat hosts - показывает список хостов
Комментариев нет:
Отправить комментарий