Re: lug-bg: Bind в chroot
- Subject: Re: lug-bg: Bind в chroot
- From: Vesselin Kolev <vlk@xxxxxxxxxxxxxxxxx>
- Date: Fri, 18 Mar 2005 16:30:32 +0200
Тинтири минтири. Радвам се, че те подразних:) И недей да ми завършваш
писмото си с лицемерни уважения.
В интерес на истината нещата, които съм написал тук са ми вдигнали
кръвното при правенето на OpenFMI.net. Огнян Кулев може да потвърди в
списъка как сме правили пачове за init скриптовете.
Случаят bind. В stable версията на bind имаме спиране на демона named с
start-stop-daemon --stop. Недей да ни поднасяш и да мисиш, че сме
кретени. Едва в bind9 (1:9.2.4-1) unstable имаш използване на rndc stop.
Сиреч, за да работиш нормално трябва да си инсталираш unstable????
Също така с Оги разбрахме, че за да пуснеш ntp в chroot и със сепариран
потребител, трябва да инсталираш unstable пакет комитнат от Ubuntu.
Конкретно:
ntp (1:4.2.0a+stable-2)
Съдържание на init скрипта /etc/init.d/ntp-server:
#!/bin/sh
PATH=/sbin:/bin
FLAGS="defaults 23"
test -f /usr/sbin/ntpd || exit 0
case "$1" in
start)
echo -n "Starting NTP server: ntpd"
start-stop-daemon --start --quiet --pidfile
/var/run/ntpd.pid --exec /usr/sbin/ntpd -- -p /var/run/ntpd.pid
echo "."
;;
stop)
echo -n "Stopping NTP server: ntpd"
start-stop-daemon --stop --quiet --pidfile /var/run/ntpd.pid
echo "."
;;
restart|force-reload)
echo -n "Restarting NTP server: ntpd... "
start-stop-daemon --stop --quiet --pidfile /var/run/ntpd.pid
sleep 2
start-stop-daemon --start --quiet --exec /usr/sbin/ntpd
-- -p /var/run/ntpd.pid
echo "done."
;;
*)
echo "Usage: /etc/init.d/ntp-server
{start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0
Да виждаш някъде дори възможност за подаване на опции към демона при
стартиране? Примерно да виждаш връзка за прочит на /etc/defaults/ntp-server?
Да виждаш сучайн дори компилационна опция за chroot:
# ntpd --help
usage: ntpd [ -abdgmnqx ] [ -c config_file ] [ -e e_delay ]
[ -f freq_file ] [ -k key_file ] [ -l log_file ]
[ -p pid_file ] [ -r broad_delay ] [ -s statdir ]
[ -t trust_key ] [ -v sys_var ] [ -V default_sysvar ]
[ -P fixed_process_priority ]
Няма дори -U опцията за пускане на демна като непривилигерован потребител.
Да забелязваш разлика м/у това долу и горното:
# ntpd --help
usage: ntpd [ -abdgmnqx ] [ -c config_file ] [ -e e_delay ]
[ -f freq_file ] [ -k key_file ] [ -l log_file ]
[ -p pid_file ] [ -r broad_delay ] [ -s statdir ]
[ -t trust_key ] [ -v sys_var ] [ -V default_sysvar ]
[ -T chroot_dir ] [ -U server_user ]
[ -P fixed_process_priority ]
Това е ръчно компилиран от мен ntpd.
И това, което казах и на Оги е, че аз искам да съм администратор, а не
майстор на пачове. И че не мога да слагам unstable версии за да работи
нормално системата, за която аз ОТГОВАРЯМ.
Това за SELinux беше олигофрения. Пий една студена вода и се сети, че
SELinux е нужен на хора, които отдавна са се справили с login процеса.
Това за това как съм представял статии на чужди хора като мои го
подминавам с насмешка. Достатъчно си жалък за да ти давам каквото и да е
обяснение и да се оправдавам. Не обожавам женствен мъжки манталитет.
С неуважение
Грешно.
Нейде из /etc/init.d/bind9:
# for a chrooted server: "-u bind -t /var/lib/named"
# Don't modify this line, change or create /etc/default/bind9.
OPTIONS=""
test -f /etc/default/bind9 && . /etc/default/bind9
test -x /usr/sbin/rndc || exit 0
case "$1" in
start)
echo -n "Starting domain name service: named"
Прекрасно, но тук се обвързваш с pid файл, който не е в chroot, дори
в $OPTIONS да имаш указване за chroot директория с "-t".
Е и? Ще ти покажа по долу:
Отново това обвързване. Да не говорим, че ISC пишат в документацията
си, но кой да чете. Демонът named се спира с командата:
# rndc stop
Сигурно. Така го и спират в debian.
stop)
echo -n "Stopping domain name service: named"
if [ -x /sbin/resolvconf ]; then
/sbin/resolvconf -d lo
fi
/usr/sbin/rndc stop
echo "."
;;
reload)
/usr/sbin/rndc reload
;;
restart|force-reload)
$0 stop
sleep 2
$0 start
;;
Никакви обвързвания с pid и оттам никакви проблеми с chroot. Няма
проблеми със спирането. Може дори да не се използва pid файл.
Ти го каза ;-)
А да, и още нещо:
~# grep bind /etc/passwd
bind:x:104:107::/var/cache/bind:/bin/false
Не съм го слагал аз ;-) И знаеш ли защо? Защото не ползвам bind, нямам
си на идея как работи.
Ама нали все се дразниш на пичове, дето говорят наизуст, та и аз така.
И за да не кажеш. че тролвам, флеймвам и се заяждам:
~# ps aux | grep ntp
ntp 15788 0.0 0.6 3292 3292 ? SLs 14:30 0:00
/usr/sbin/ntpd -p /var/run/ntpd.pid -u 108:108
~# grep ntp /etc/passwd
ntp:x:108:108::/home/ntp:/bin/false
Не съм ги слагал аз ;-)
А това, че Fedora е първата дистрибуция, която имплементира SELinux за
своите потребители, може само да те кара
да бъдеш горд. Беше ми мъъничко смешно, като четях как същите тези
потребители, не успяват винаги да се
login-нат ;-).
Поздрави и уважения,
Димитър
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|