FreeBSD: user ‘pavel’ disappeared during update при попытке добавить пользователя

При попытке создания нового пользователя во FreeBSD стала выходить ошибка вида:

Как оказалось это результат рассинхронизации баз данных пользователей в /etc/passwd и /etc/master.passwd

Смутно помню, что в /etc/passwd хранятся логины пользователей, с паролями замененными на *, а в /etc/master.passwd храняться непосредственно сами зашифрованные пароли. /etc/master.passwd доступен только root.

Решение:

SUDO без пароля во FreeBSD

В одной из задач которую делаю при помощи ansible понадобилось после выполнения всех тасков, перезапустить сервис. А так-как ansible работает под пользователем, то сервис соответственно пере стартовать не дает. Возможно есть и штатные средства для обхода этого момента. Но мне не нагуглилось сразу. Потому решил сделать перезапуск cron при помощи sudo:

Один нюанс, чтобы не запрашивался пароль, поправим файл /usr/local/etc/sudoers, а именно раскомментируем строку:

Включаем поддержку SSL в Postfix, FreeBSD 10.x

Предыдущий пост (включение подписи DKIM) не помог избавиться от попадания в папку СПАМ на ящиках gmail, поэтому следующим этапом попробуем включение принудительного шифрования писем SSL на домене.

Сначала сделаем самоподписный сертификат:

Добавляем в Postfix поддержку SSL:

В файле /usr/local/etc/postfix/master.cf нужно добавить:

и перестартовать postfix

Настройка DKIM подписи на FreeBSD 10.4 почтовый сервер Postfix

Зачем она нужна? Например для того чтобы почтовые сервера gmail.com, mail.ru и ряд других не отправляли письма с вашего домена в папку «спам».

Ставим opendkim:

Создадим файл конфигурации opendkim на основе примера:

Получим файл вида:

Преобразуем его к виду:

В файл /var/db/dkim/TrustedHosts добавим хосту с которых разрешены подключения:

Создаем каталог для хранения ключей и создаем собственно сами ключи:

Создадим пользователя opendkim,зададим владельца и права доступа на файлы:

Создаем таблицу KeyTable. В ней хранится список соответствий между селекторами, доменами и файлами с закрытыми ключами. Формат записей:
<селектор>._domainkey.<домен> <домен>:<селектор>:<путь к закрытому ключу>

Например:

Создаем SigningTable. В данной таблице хранятся соответствия между определенными email-адресами и записями в KeyTable.

Добавляем в него:

Далее пробуем стартовать сервис:

Если всё хорошо, правим конфигурацию postfix:

Добавляем:

Перезапускаем postfix:

Если всё хорошо, остался последний шаг: правка DNS. Посмотрим содержимое:

Добавим эту запись в зону TXT  DNS. И пробуем отправить письмо например на gmail.com. В «исходном письме» должна присутствовать запись о DKIM.

 

Nginx как front-end к apache (апач через прокси nginx) FreeBsd

На одном из серверов пробую ускорить сайт на drupal + модуль Commerce. Mysql уже потюнил. Memcached установлен. Закешировано почти всё что можно. Но! тормозит.. Как жест отчаянья, попробую еще и через nginx пустить статику. Вдруг хоть чуток но полегчает..

1. В httpd.conf меням порт Listen с 80 на 8080. Тоже самое меняем в вирутальных хостах <VirtualHost *:8080>

2. Ставим nginx, ставим в автостарт

pkg install nginx
sysrc nginx_enable=yes

3. Правим файл конфигурации nginx (/usr/local/etc/nginx/nginx.conf)

1 2 3 9