====== Управление сервисами в FreeBSD ======
===== Конфигурация сервиса =====
# cat /etc/ssh/sshd_config
# cat /etc/syslog.conf
===== Запуск/остановка сервиса =====
==== Из shell ====
# /usr/sbin/sshd
* [[Сигналы]]
==== Система загрузки rc.local ====
# cat /etc/rc.local
...
/usr/sbin/sshd
exit 0
==== Система загрузки rc.NG ====
* [[http://www.freebsd.org/doc/ru/books/handbook/configtuning-rcd.html|Использование rc во FreeBSD 5.X и последующих версиях]]
* [[http://www.freebsd.org/doc/en/books/handbook/configtuning-rcd.html|Managing Services in FreeBSD]]
=== Управление запуском сервисов ===
# ls /etc/rc.d/
# ls /usr/local/etc/rc.d/
или
# service -l
# /etc/rc.d/sshd
# /etc/rc.d/sshd rcvar
# /etc/rc.d/sshd onestart
# /etc/rc.d/sshd onestop
или
# service sshd
# service sshd rcvar
# service sshd onestart
# service sshd onestop
# service -e
# sysrc sshvpn_enable=YES
# cat /etc/defaults/rc.conf
# cat /etc/rc.conf
=== Пример скрипта ===
# cat /usr/local/etc/rc.d/sshvpn
#!/bin/sh
# PROVIDE: sshvpn
# REQUIRE: LOGIN FILESYSTEMS
# KEYWORD: shutdown
. /etc/rc.conf
case "$sshvpn_enable" in
[Yy][Ee][Ss])
if [ "${1#fast}" = start ]
then
echo Starting sshvpn...
/usr/bin/ssh -N -R 200X:localhost:22 userX@gate.isp.un &
echo $! > /var/run/sshvpn.pid
elif [ "${1#fast}" = stop ]
then
echo Stopping sshvpn...
kill -s TERM `cat /var/run/sshvpn.pid`
else
echo Usage:
echo 'service sshvpn start|stop'
fi
;;
esac
=== Управление последовательностью запуска сервисов ===
# cat /usr/local/etc/rc.d/havp
...
# PROVIDE: havp
# REQUIRE: clamav_clamd
# BEFORE: LOGIN
...