NIS/ubuntu をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
ubuntu26.04でnis
***nisマスターの構築 [#a54b1478]
ubuntu 26.04 LTS(desktop)にnis-serverを入れてみます.
#code(nonumber){{
root@ubuntu26:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 26.04 LTS"
:
root@ubuntu26:~#
}}
パッケージのインストール.
#code(nonumber){{
root@ubuntu26:~# apt update
root@ubuntu26:~# apt install ypserv (libnsl2 libnss-ni...
}}
nisドメイン名は、RHEL系なら「echo "NISDOMAIN=sybyl" >> /e...
ubuntuではypservの起動スクリプト中に「/etc/defaultdomain...
#code(nonumber){{
root@ubuntu26:~# echo sybyl > /etc/defaultdomain
root@ubuntu26:~#
}}
とします。これでnisドメインの定義は完了.
次にnisクライアントへ提供するマップを定義します. ここでは...
&size(10){それ以外にも提供できますが、使わないマップを提...
「/var/yp/Makefile」を修正します.
#code(diff,nonumber){{
--- /var/yp/Makefile.orig 2026-07-07 22:29:32.77025...
+++ /var/yp/Makefile 2026-07-07 22:30:33.916782240 +0900
@@ -107,7 +107,7 @@
# If you don't want some of these maps built, feel free ...
# them out from this list.
-ALL = passwd group hosts rpc services netid protocols ...
+ALL = passwd group hosts netgrp auto.master auto.home
#ALL += publickey mail ethers bootparams printcap
#ALL += amd.home auto.master auto.home auto.local
#ALL += timezone locale networks netmasks
}}
配布するnisマップのうち、auto.masterとauto.homeは元のファ...
#code(nonumber){{
root@ubuntu26:~# touch /etc/auto.master /etc/auto.home
}}
っでnisマスターを構築する
#code(nonumber){{
root@ubuntu26:~# nisdomainname sybyl
root@ubuntu26:~# systemctl enable ypserv --now
root@ubuntu26:~# /usr/lib/yp/ypinit -m
At this point, we have to construct a list of the hosts w...
servers. ubuntu26 is in the list of NIS server hosts. P...
the names for the other hosts, one per line. When you ar...
list, type a <control D>.
next host to add: ubuntu26
next host to add:
The current list of NIS servers looks like this:
ubuntu26
Is this correct? [y/n: y]
We need a few minutes to build the databases...
Building /var/yp/sybyl/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory '/var/yp/sybyl'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating netgroup...
Updating netgroup.byhost...
Updating netgroup.byuser...
Updating auto.master...
Updating auto.home...
Updating shadow.byname...
gmake[1]: Leaving directory '/var/yp/sybyl'
ubuntu26 has been set up as a NIS master server.
Now you can run ypinit -s ubuntu26 on all slave server.
root@ubuntu26:~#
}}
これでnisマスターが動きました
次に関連で yppasswd を有効にします。「yppasswdd.service」...
#code(nonumber){{
root@ubuntu26:~# systemctl cat yppasswdd.service
# /usr/lib/systemd/system/yppasswdd.service
[Unit]
Description=NIS Users Passwords Change Server
Requires=rpcbind.service
Wants=network-online.target
After=network-online.target rpcbind.service
[Service]
Type=forking
PIDFile=/run/yppasswdd.pid
Environment=YPPASSWDDARGS= YPCHANGEOK=chsh YPPWDDIR=/etc
EnvironmentFile=-/etc/default/nis
ExecStartPre=/bin/domainname -F /etc/defaultdomain
ExecStart=/usr/sbin/rpc.yppasswdd -D $YPPWDDIR -e $YPCHAN...
[Install]
WantedBy=multi-user.target
root@ubuntu26:~#
}}
と「/etc/default/nis」の設定次第みたい。またこのファイル...
&size(10){「systemctl cat ypserv.service」「systemctl cat...
#code(nonumber){{
root@ubuntu26:~# vi /etc/default/nis
YPCHANGEOK="chsh -e chfn"
YPPWDDIR=/etc
YPPASSWDDARGS="--port 834"
YPSERVARGS="-p 838"
YPXFRDARGS="-p 966"
root@ubuntu26:~#
}}
この上で
#code(nonumber){{
root@ubuntu26:~# systemctl enable yppasswdd.service --now
root@ubuntu26:~# systemctl enable ypxfrd.service --now
root@ubuntu26:~# systemctl restart ypserv.service
root@ubuntu26:~# lsof -i -P | grep yp
rpc.ypxfr 5878 root 5u IPv4 30683 0t0...
rpc.ypxfr 5878 root 6u IPv4 35346 0t0...
rpc.ypxfr 5878 root 7u IPv6 35352 0t0...
rpc.ypxfr 5878 root 8u IPv6 35358 0t0...
rpc.yppas 6807 root 5u IPv4 37932 0t0...
rpc.yppas 6807 root 6u IPv4 37937 0t0...
rpc.yppas 6807 root 7u IPv6 36808 0t0...
rpc.yppas 6807 root 8u IPv6 36813 0t0...
ypserv 7230 root 5u IPv4 39207 0t0...
ypserv 7230 root 6u IPv4 39216 0t0...
ypserv 7230 root 7u IPv6 39225 0t0...
ypserv 7230 root 8u IPv6 39232 0t0...
root@ubuntu26:~#
}}
以上でnisマスターの設定は完了.
***nisクライアント [#f5db4678]
「apt install nis」でもいいみたいだけど、必要なパッケージ...
#code(nonumber){{
root@ubuntu22:~# apt update
root@ubuntu22:~# apt install ypbind-mt (同時にlibnss-n...
}}
nisマスターのように実際に稼働するスクリプトを見てみると
#code(nonumber){{
root@ubuntu24:~# systemctl cat ypbind.service
# /usr/lib/systemd/system/ypbind.service
[Unit]
Description=NIS Binding Service
Requires=rpcbind.service
Wants=network-online.target
After=network-online.target rpcbind.service
Before=systemd-user-sessions.service
Before=nss-user-lookup.target
[Service]
Type=forking
PIDFile=/run/ypbind.pid
Environment=YPBINDARGS=
EnvironmentFile=-/etc/default/nis
ExecStartPre=/bin/domainname -F /etc/defaultdomain
ExecStart=/usr/sbin/ypbind $YPBINDARGS
[Install]
WantedBy=multi-user.target
root@ubuntu24:~#
}}
こちらもnisdomainは「/etc/defaultdomain」で定めるみたい. ...
どうも「/etc/yp.conf」にはypservの宛先を入れるのみの様子
っで構築
#code(nonumber){{
root@ubuntu22:~# echo sybyl > /etc/defaultdomain
root@ubuntu22:~# echo "ypserver ubuntu26" > /etc/yp.conf
root@ubuntu22:~# systemctl enable ypbind --now
(確認)
root@ubuntu24:~# ypwhich
ubuntu26
root@ubuntu24:~# ypwhich -m
auto.home ubuntu26
passwd.byname ubuntu26
group.bygid ubuntu26
netgroup.byuser ubuntu26
ypservers ubuntu26
passwd.byuid ubuntu26
group.byname ubuntu26
auto.master ubuntu26
netgroup.byhost ubuntu26
shadow.byname ubuntu26
netgroup ubuntu26
hosts.byname ubuntu26
hosts.byaddr ubuntu26
root@ubuntu24:~#
}}
nis情報をnis masterから取得出来ているみたい.
っでnis情報をこのマシンのアカウント系で使えるように「/etc...
root@ubuntu22:~# vi /etc/nsswitch.conf
:
passwd: files systemd nis
group: files systemd nis
shadow: files nis
automount: nis
:
root@ubuntu22:~#
}}
一応これで完成ですが、挙動が怪しい場合は IPAddressDeny を...
#code(nonumber){{
root@ubuntu22:~# sed -i "s/IPAddressDeny=any/#IPAddressDe...
root@ubuntu22:~# systemctl daemon-reload
root@ubuntu22:~# systemctl restart systemd-logind.service
}}
***ubuntu20.04の場合 [#f6b02c9c]
#code(nonumber){{
vi /etc/autofs.conf
master_map_name = auto.home
timeout = 300
map_type = nis
vi /etc/nsswitch.conf
automount: nis
}}
***sudoの一元管理 [#a6bea7f7]
nisクライアントのsudoをnisマスターで管理したい.
nisに乗るようにgroupIDを1000番以上に変更して、nis groupマ...
各nisクライアントから sudo group を削除する
これで行けるみたい
#code(nonumber){{
(nis server)
root@slurm:~# lsof |grep sudo
root@slurm:~# groupmod -g 5000 sudo
root@slurm:~# cd /var/yp
root@slurm:/var/yp# make
(nis client)
root@ubuntu22:~# ypcat group
illya:x:1000:
sudo:x:5000:illya
nogroup:x:65534:
root@ubuntu22:~# cp /etc/group /etc/group.orig
root@ubuntu22:~#
root@ubuntu22:~# delgroup sudo
Removing group `sudo' ...
Done.
root@ubuntu22:~#
}}
留意点: nscdがnis情報をキャッシュするのでこれが動いている...
終了行:
ubuntu26.04でnis
***nisマスターの構築 [#a54b1478]
ubuntu 26.04 LTS(desktop)にnis-serverを入れてみます.
#code(nonumber){{
root@ubuntu26:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 26.04 LTS"
:
root@ubuntu26:~#
}}
パッケージのインストール.
#code(nonumber){{
root@ubuntu26:~# apt update
root@ubuntu26:~# apt install ypserv (libnsl2 libnss-ni...
}}
nisドメイン名は、RHEL系なら「echo "NISDOMAIN=sybyl" >> /e...
ubuntuではypservの起動スクリプト中に「/etc/defaultdomain...
#code(nonumber){{
root@ubuntu26:~# echo sybyl > /etc/defaultdomain
root@ubuntu26:~#
}}
とします。これでnisドメインの定義は完了.
次にnisクライアントへ提供するマップを定義します. ここでは...
&size(10){それ以外にも提供できますが、使わないマップを提...
「/var/yp/Makefile」を修正します.
#code(diff,nonumber){{
--- /var/yp/Makefile.orig 2026-07-07 22:29:32.77025...
+++ /var/yp/Makefile 2026-07-07 22:30:33.916782240 +0900
@@ -107,7 +107,7 @@
# If you don't want some of these maps built, feel free ...
# them out from this list.
-ALL = passwd group hosts rpc services netid protocols ...
+ALL = passwd group hosts netgrp auto.master auto.home
#ALL += publickey mail ethers bootparams printcap
#ALL += amd.home auto.master auto.home auto.local
#ALL += timezone locale networks netmasks
}}
配布するnisマップのうち、auto.masterとauto.homeは元のファ...
#code(nonumber){{
root@ubuntu26:~# touch /etc/auto.master /etc/auto.home
}}
っでnisマスターを構築する
#code(nonumber){{
root@ubuntu26:~# nisdomainname sybyl
root@ubuntu26:~# systemctl enable ypserv --now
root@ubuntu26:~# /usr/lib/yp/ypinit -m
At this point, we have to construct a list of the hosts w...
servers. ubuntu26 is in the list of NIS server hosts. P...
the names for the other hosts, one per line. When you ar...
list, type a <control D>.
next host to add: ubuntu26
next host to add:
The current list of NIS servers looks like this:
ubuntu26
Is this correct? [y/n: y]
We need a few minutes to build the databases...
Building /var/yp/sybyl/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory '/var/yp/sybyl'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating netgroup...
Updating netgroup.byhost...
Updating netgroup.byuser...
Updating auto.master...
Updating auto.home...
Updating shadow.byname...
gmake[1]: Leaving directory '/var/yp/sybyl'
ubuntu26 has been set up as a NIS master server.
Now you can run ypinit -s ubuntu26 on all slave server.
root@ubuntu26:~#
}}
これでnisマスターが動きました
次に関連で yppasswd を有効にします。「yppasswdd.service」...
#code(nonumber){{
root@ubuntu26:~# systemctl cat yppasswdd.service
# /usr/lib/systemd/system/yppasswdd.service
[Unit]
Description=NIS Users Passwords Change Server
Requires=rpcbind.service
Wants=network-online.target
After=network-online.target rpcbind.service
[Service]
Type=forking
PIDFile=/run/yppasswdd.pid
Environment=YPPASSWDDARGS= YPCHANGEOK=chsh YPPWDDIR=/etc
EnvironmentFile=-/etc/default/nis
ExecStartPre=/bin/domainname -F /etc/defaultdomain
ExecStart=/usr/sbin/rpc.yppasswdd -D $YPPWDDIR -e $YPCHAN...
[Install]
WantedBy=multi-user.target
root@ubuntu26:~#
}}
と「/etc/default/nis」の設定次第みたい。またこのファイル...
&size(10){「systemctl cat ypserv.service」「systemctl cat...
#code(nonumber){{
root@ubuntu26:~# vi /etc/default/nis
YPCHANGEOK="chsh -e chfn"
YPPWDDIR=/etc
YPPASSWDDARGS="--port 834"
YPSERVARGS="-p 838"
YPXFRDARGS="-p 966"
root@ubuntu26:~#
}}
この上で
#code(nonumber){{
root@ubuntu26:~# systemctl enable yppasswdd.service --now
root@ubuntu26:~# systemctl enable ypxfrd.service --now
root@ubuntu26:~# systemctl restart ypserv.service
root@ubuntu26:~# lsof -i -P | grep yp
rpc.ypxfr 5878 root 5u IPv4 30683 0t0...
rpc.ypxfr 5878 root 6u IPv4 35346 0t0...
rpc.ypxfr 5878 root 7u IPv6 35352 0t0...
rpc.ypxfr 5878 root 8u IPv6 35358 0t0...
rpc.yppas 6807 root 5u IPv4 37932 0t0...
rpc.yppas 6807 root 6u IPv4 37937 0t0...
rpc.yppas 6807 root 7u IPv6 36808 0t0...
rpc.yppas 6807 root 8u IPv6 36813 0t0...
ypserv 7230 root 5u IPv4 39207 0t0...
ypserv 7230 root 6u IPv4 39216 0t0...
ypserv 7230 root 7u IPv6 39225 0t0...
ypserv 7230 root 8u IPv6 39232 0t0...
root@ubuntu26:~#
}}
以上でnisマスターの設定は完了.
***nisクライアント [#f5db4678]
「apt install nis」でもいいみたいだけど、必要なパッケージ...
#code(nonumber){{
root@ubuntu22:~# apt update
root@ubuntu22:~# apt install ypbind-mt (同時にlibnss-n...
}}
nisマスターのように実際に稼働するスクリプトを見てみると
#code(nonumber){{
root@ubuntu24:~# systemctl cat ypbind.service
# /usr/lib/systemd/system/ypbind.service
[Unit]
Description=NIS Binding Service
Requires=rpcbind.service
Wants=network-online.target
After=network-online.target rpcbind.service
Before=systemd-user-sessions.service
Before=nss-user-lookup.target
[Service]
Type=forking
PIDFile=/run/ypbind.pid
Environment=YPBINDARGS=
EnvironmentFile=-/etc/default/nis
ExecStartPre=/bin/domainname -F /etc/defaultdomain
ExecStart=/usr/sbin/ypbind $YPBINDARGS
[Install]
WantedBy=multi-user.target
root@ubuntu24:~#
}}
こちらもnisdomainは「/etc/defaultdomain」で定めるみたい. ...
どうも「/etc/yp.conf」にはypservの宛先を入れるのみの様子
っで構築
#code(nonumber){{
root@ubuntu22:~# echo sybyl > /etc/defaultdomain
root@ubuntu22:~# echo "ypserver ubuntu26" > /etc/yp.conf
root@ubuntu22:~# systemctl enable ypbind --now
(確認)
root@ubuntu24:~# ypwhich
ubuntu26
root@ubuntu24:~# ypwhich -m
auto.home ubuntu26
passwd.byname ubuntu26
group.bygid ubuntu26
netgroup.byuser ubuntu26
ypservers ubuntu26
passwd.byuid ubuntu26
group.byname ubuntu26
auto.master ubuntu26
netgroup.byhost ubuntu26
shadow.byname ubuntu26
netgroup ubuntu26
hosts.byname ubuntu26
hosts.byaddr ubuntu26
root@ubuntu24:~#
}}
nis情報をnis masterから取得出来ているみたい.
っでnis情報をこのマシンのアカウント系で使えるように「/etc...
root@ubuntu22:~# vi /etc/nsswitch.conf
:
passwd: files systemd nis
group: files systemd nis
shadow: files nis
automount: nis
:
root@ubuntu22:~#
}}
一応これで完成ですが、挙動が怪しい場合は IPAddressDeny を...
#code(nonumber){{
root@ubuntu22:~# sed -i "s/IPAddressDeny=any/#IPAddressDe...
root@ubuntu22:~# systemctl daemon-reload
root@ubuntu22:~# systemctl restart systemd-logind.service
}}
***ubuntu20.04の場合 [#f6b02c9c]
#code(nonumber){{
vi /etc/autofs.conf
master_map_name = auto.home
timeout = 300
map_type = nis
vi /etc/nsswitch.conf
automount: nis
}}
***sudoの一元管理 [#a6bea7f7]
nisクライアントのsudoをnisマスターで管理したい.
nisに乗るようにgroupIDを1000番以上に変更して、nis groupマ...
各nisクライアントから sudo group を削除する
これで行けるみたい
#code(nonumber){{
(nis server)
root@slurm:~# lsof |grep sudo
root@slurm:~# groupmod -g 5000 sudo
root@slurm:~# cd /var/yp
root@slurm:/var/yp# make
(nis client)
root@ubuntu22:~# ypcat group
illya:x:1000:
sudo:x:5000:illya
nogroup:x:65534:
root@ubuntu22:~# cp /etc/group /etc/group.orig
root@ubuntu22:~#
root@ubuntu22:~# delgroup sudo
Removing group `sudo' ...
Done.
root@ubuntu22:~#
}}
留意点: nscdがnis情報をキャッシュするのでこれが動いている...
ページ名:
1