четверг, 29 мая 2008 г.

отключение sendmail в freebsd

Для полного отключения sendmail необходимо прописать
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

в /etc/rc.conf.

Если нужно отключить только сервис входящей почты sendmail, установить
sendmail_enable="NO"

в /etc/rc.conf.

sendmail в freebsd

Файлы настройки sendmail:
/etc/mail/access Файл базы данных доступа sendmail
/etc/mail/aliases Синонимы почтовых ящиков
/etc/mail/local-host-names Список хостов, для которых sendmail принимает почту
/etc/mail/mailer.conf Настройки почтовой программы
/etc/mail/mailertable Таблица доставки почтовой программы
/etc/mail/sendmail.cf Основной файл настройки sendmail
/etc/mail/virtusertable Таблицы виртуальных пользователей и доменов

/etc/mail/access - база данных доступа
пример:
cyberspammer.com 550 We do not accept mail from spammers
FREE.STEALTH.MAILER@ 550 We do not accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAY
После изменения этого файла для обновления базы данных вам потребуется запустить make в каталоге /etc/mail/.

/etc/mail/aliases - база данных алиасов
пример:
root: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"
Имя почтового ящика слева от двоеточия сопоставляется назначению(ям) справа. В первом примере производится простое сопоставление почтового ящика root почтовому ящику localuser, для которого затем опять будет произведен поиск в базе данных синонимов. Если совпадений не обнаружится, сообщение будет доставлено локальному пользователю localuser. В следующем примере приведен список рассылки. Почта на адрес ftp-bugs рассылается на три локальных почтовых ящика: joe, eric и paul. Удалённый почтовый ящик может быть задан в виде . В следующем примере показана запись почты в файл, в данном случае /dev/null. И в последнем примере показано отправление почты программе, в данном случае почтовое сообщение переправляется через канал UNIX® на стандартный вход /usr/local/bin/procmail.
После обновления этого файла вам потребуется запустить make в каталоге /etc/mail/ для обновления базы данных.

/etc/mail/local-host-names - база данных хостов, рассматриваемых sendmail'ом как локальных.
Поместить в этот файл любые домены или хосты, для которых sendmail должен принимать почту. Например, если этот почтовый сервер должен принимать почту для домена example.com и хоста mail.example.com, его файл local-host-names может выглядеть примерно так:
example.com
mail.example.com
После обновления этого файла необходимо перезапустить sendmail(8), чтобы он смог перечитать изменения.

/etc/mail/sendmail.cf - основной конфиг sendmail
Основной файл настройки sendmail может быть собран из макроса m4, определяющего возможности и поведение sendmail.
Для применения изменений после правки файла необходимо перезапустить sendmail.

/etc/mail/virtusertable
Файл virtusertable сопоставляет виртуальные почтовые домены и почтовые ящики реальным почтовым ящикам. Эти почтовые ящики могут быть локальными, удаленными, синонимами, определенными в /etc/mail/aliases, или файлами.
пример:
root@example.com root
postmaster@example.com postmaster@noc.example.net
@example.com joe

воскресенье, 25 мая 2008 г.

mpd в freebsd (vpn-подключение)

1. Настроить конфигурацию сетевых параметров по DHCP через внешний сетевой интерфейс.
Для этого в файл /etc/rc.conf необходимо внести строчку:

ifconfig_ifname="DHCP"

где ifname - название интерфейса (например, fxp0, xl0, rl0 и т. п.).

Внимание! Ваш DHCP-клиент должен ументь воспринимать статические маршруты, выдаваемые сервером! Если это конфигурируемая опция, то она должна быть обязательно включена.

2. Установить пакет mpd с помощью утилиты pkg_add или (при наличии другого соединения с Интернет, либо непосредственно с адреса ftp://ftp.chelcom.ru/pub/FreeBSD/distfiles/) из портов:
# cd /usr/ports/net/mpd
# make install clean

3. Скачать конфигурационные файлы с адреса ftp://ftp.chelcom.ru/pub/FreeBSD/configs/mpdconf.tar и распаковать их в каталог /usr/local/etc/mpd:
# cd /usr/local/etc/mpd

# fetch ftp://ftp.chelcom.ru/pub/FreeBSD/configs/mpdconf.tar
# tar -xf mpdconf.tar

4. Отредактировать файлы mpd.conf и mpd.secret, заменив слова username и password на свой логин и пароль.

5. Включить автозапуск mpd. Для этого нужно сделать следующее:
# cp /usr/local/etc/rc.d/mpd.sh.sample

/usr/local/etc/rc.d/mpd.sh

6. Запустить mpd и удостовериться в работоспособности:
# /usr/local/etc/rc.d/mpd.sh start
mpd

# ifconfig ng0

ng0: flags=88d1 mtu 1300
inet 81.20.170.28 --> 81.20.169.252 netmask 0xffffffff

Приложение (листинги конфигурационных файлов)

mpd.conf:
default:

new -i ng0 intsv_vpn intsv_vpn
set iface disable on-demand

set iface up-script /usr/local/etc/mpd/link-up

set iface down-script /usr/local/etc/mpd/link-down

set link no acfcomp protocomp

set iface idle 0

set iface disable proxy-arp

set bundle disable multilink

set bundle authname username

set link accept pap chap

set link disable pap chap

set ipcp yes vjcomp

open iface

mpd.secret:
username password

mpd.links
intsv_vpn:

set link type pptp

set pptp peer vpn.chelcom.ru

set pptp enable originate outcall

linkupdown:
#!/bin/sh

VPNAME=vpn.chelcom.ru
PREFIX=/usr/local

export PATH=/sbin:/bin:/usr/bin:/usr/sbin:${PREFIX}/bin:/${PREFIX}/sbin

start() {

netstat -rn | grep '^default' | awk '{print $2}' > /tmp/defaultroute

for serverip in `host vpn | awk '{print $4}'`

do

route add -host $serverip `cat /tmp/defaultroute`

done

route change default $1 -ifp ng0

}

stop() {

route change default `cat /tmp/defaultroute`

for serverip in `host vpn | awk '{print $4}'`

do

route delete -host $serverip

done

}

link-up:
#!/bin/sh

. /usr/local/etc/mpd/linkupdown

start $4

exit 0

link-down:
#!/bin/sh

. /usr/local/etc/mpd/linkupdown

stop

exit 0

sudo кратко

Программа для редактирования списка пользователей в sudo - visudo.
Ситаксис записи :
пользователь хост =(фактический пользователь) команда
Примеры:
peter host1.domain.tld=(bind) /usr/sbin/rndc,/usr/sbin/named
Для задания длинного списка команд или пользователей используется команда alias. Алиас может использоваться вместо соответствующей записи любой строки конфига:
User_Alias ADMINS=usr1,usr2
User_Alias WEBMASTERS=usr1,usr3
Runas_Alias DAEMONS=bind,www
Host_Alias WEBSERVERS=www.domain.tld,web.domain2.tld
Cmd_Alias PROCS=/bin/kill,/usr/sbin/skill,/usr/bin/top
Cmd_Alias APACHE=/usr/local/apache/bin/apachectl
WEBMASTERS WEBSERVERS=(www) APACHE
ADMINS ALL=(DAEMONS) ALL

Для системных групп разрешения даются так:
%wwwadmin WEBSERVERS=(www) APACHE
Для запуска команд без ввода пароля используется флаг NOPASSWD:
usr ALL=(ALL) NOPASSWD: PROCS

Для автоматического запуска программ при старте системы из rc-файлов:
(cd /usr/local/mysql; sudo -u mysql ./bin/safe_mysqld &)
sudo -u www /usr/local/apache/bin/apachectl start
Для того, чтобы это работало, нужно, чтобы в конфиге sudo была строка root ALL=(ALL) ALL