○ ntp-chrootの設定

・ntpサーバをchroot環境で動作させます
・ntpデーモンは -i オプションで指定したディレクトリを / と想定します
・必要なファイルをchrootディレクトリ下にコピーします

・新規インストールした openssl を使います
・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○参照ファイル

パッケージの追加
最初の設定 (Router)
ntpのインストール
opensslのインストール

○インストール環境

:OS CentOS 6.9
:selinux permissive
:作業
:言語 LANG=en_US.UTF-8
:ユーザー  rootで実行

・メンテナンスの場合は一般ユーザから行います



○chroot環境の作成

・既にntpが通常の設定で作動していることを前堤にします
ntpのインストールを参照

○chrootディレクトリの作成

[root@venus:~]
# mkdir -p /var/chroot/ntpd
# cd /var/chroot/ntpd
[root@venus:/var/chroot/ntpd]
# mkdir -p dev etc/ntp/crypto var/{lib/ntp,run}
# chown root:ntp ./etc/ntp/crypto
# chown ntp:ntp ./var/lib/ntp
# chmod 750 ./etc/ntp/crypto

○既存ファイルのコピー

# cd /var/chroot/ntpd
[root@venus:/var/chroot/ntpd]
# cp -av /dev/{null,random,zero} dev/
# cp -av /etc/{localtime,ntp.conf} etc/
# cp -Rav /etc/ntp etc/

○/etc/ntp.conf,/etc/ntp/ntpkey*の修正

・既存ファイルを削除して、/var/chroot/ntpdのファイルにリンクします

# cd /etc
[root@venus:/etc]
# rm ntp.conf
# ln -s /var/chroot/ntpd/etc/ntp.conf ntp.conf
# cd ntp
[root@venus:/etc/ntp]
# rm ntpkey*
# ln -s /var/chroot/ntpd/etc/ntp/ntpkey_MD5key* ntp.keys

○/etc/sysconfig/ntpdファイルの修正

・ntpd起動スクリプトで読みこみます
・ntpd.pidはchrootされません

OPTIONS="-i /var/chroot/ntpd -u ntp:ntp -p /var/run/ntpd.pid"

○ntpd起動スクリプトはそのまま使用します

/etc/rc.d/init.d/ntpd (詳細別記)

○ファイル及びディレクトリのユーザ・グループ・パーミッションの設定

・変更コマンド省略

var/chroot/ntpd/ 755 root:root

dev/ 755 root:root


null 666 root:root


random 666 root:root


zero 666 root:root

etc/ 755 root:root


localtime 644 root:root


ntp.conf 644 root:root


ntp/ 755 root:root



ntpkey* 600 root:root



crypto/ 750 root:ntp

var/ 755 root:root


run/ 755 root:root


lib/ 755 root:root



ntp/ 755 ntp:ntp




drift 644 ntp:ntp

○rsyslogの修正

・rsyslogにログを出力するには/dev/logを使用します
・/dev/logはchrootの外にあるのでそのままでは利用できません
・/etc/rsyslog.confに設定ファイルを追記します
・/var/chroot/ntpd/dev/logが作られます

:/etc/rsyslog.conf

・省略

$AddUnixListenSocket /var/chroot/bind/dev/log
$AddUnixListenSocket /var/chroot/ntpd/dev/log

・rsyslogの再起動

# cd ~
[root@venus:~]
# service rsyslog restart

○selinuxの対応 (selinuxが有効の場合)

:新規インストールファイルのselinuxラベルを修正

[root@venus:~]
# restorecon -Rv /etc
# restorecon -Rv /usr/local
# restorecon -Rv /var/chroot

○ntpdを再起動します

[root@venus:~]
# service ntpd restart

○ Copyright(c) 528p.com All Rights Reserved.