ubuntu почтовый сервер ( ubuntu mail server )

Written by

in

, ,

И так прижало мне сделать для себя почтовый сервер на своём сервере. раньше оно работало из коробки и я горя не знал, но тут оказалось, что надо всё делать ну чтож приступим

Во первых, задайте себе вопрос а насколько он нужен вам?

если у вас до 50ти ящиков то очень рекомендую воспользоваться почтой от гугла на своём домене, я уже писал об этом способе.

Экономия времени и нервов вам обеспечена!.

Если же вы настойчивы, то есть 2 способа, оба проделывал я на своих серверах, оба работают и не ругаются.
Очень рекомендую первый, во втором периодически выпадали глюки и приходилось пере запускать демоны.

Первый Postfix + Dovecot + MYSQL
Вариант 2 более простой (postfix (smtp), sasl2 (Авторизция) cyrus-pop3d )

Поехали
Интерпритатора будет два, обычная командная строка (bash) и mysql

bash:$>

mysql: mysql>Code language: Bash (bash)

Также все команды будут от root (обычно я запускаю sudo mc и жму ctrl+o и так получается консоль от root)

Устанавливаем необходимые пакеты, также ставим phpmyadmin для более удобного управления базой + вэб интерфейс почты

aptitude install postfix-mysql mysql-server dovecot-pop3d dovecot-imapd openssl phpmyadmin squirrelmailCode language: Bash (bash)

Создаём БД + таблицы можно как и из консоли, так и из phpmyadmin
Мне удобнее из phpmyadmin просто вводя запросы
phpmyadmin

 mysql>
create database mailserver;
mysql>
grant all on mailserver.* to mailuser@localhost identified by 'mailuserpasswd';
exitCode language: SQL (Structured Query Language) (sql)

Затем создайте таблицы в базе данных

 mysql>
CREATE TABLE `virtual_domains` (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL
) ENGINE = InnoDB;
mysql>
CREATE TABLE `virtual_users` (
id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
domain_id INT(11) NOT NULL,
user VARCHAR(40) NOT NULL,
password VARCHAR(32) NOT NULL,
CONSTRAINT UNIQUE_EMAIL UNIQUE (domain_id,user),
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE) ENGINE = InnoDB;
mysql>
CREATE TABLE `virtual_aliases` (
id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
domain_id INT(11) NOT NULL,
source VARCHAR(40) NOT NULL,
destination VARCHAR(80) NOT NULL,
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE = InnoDB;Code language: SQL (Structured Query Language) (sql)

Создаём файлы конфигурации для Postfix’a с информацией о базе данных.

touch /etc/postfix/mysql-virtual-mailbox-domains.cfCode language: Bash (bash)

Вот с таким содержанием

 user = mailuser
password = mailuserpasswd
hosts = 127.0.0.1
dbname = mailserver
query = SELECT 1 FROM virtual_domains WHERE name='%s'Code language: Bash (bash)

Этот запрос выбирает виртуальные домены (да да наш почтовый сервер будет работать на несколько доменов как реальных так и виртуальных)

Применим конфигурацию postfix

postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql-virtual-mailbox-domains.cfCode language: Bash (bash)

Добавим в БД запись о первом виртуальном сервере example.com (не забываем поставить свой)

 $>
mysql -p mailserver
mysql>
INSERT INTO virtual_domains (id, name) VALUES (1, 'example.com');
exitCode language: SQL (Structured Query Language) (sql)

Проверим всё ли верно мы сделали

 postmap -q example.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cfCode language: Bash (bash)

Появится цифра 1 — значит всё сделано правильно.

Теперь создаём пользователей, за них будет отвечать отдельная группа. создаём её

$>
groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /home/vmail -mCode language: Bash (bash)

Примиряем изменения

$>
postconf -e virtual_uid_maps=static:5000
$>
postconf -e virtual_gid_maps=static:5000Code language: Bash (bash)

Создадим тестовый почтовый ящик, например john@example.com с паролем johnpasswd

 mysql>
INSERT INTO virtual_users (id, domain_id, user, password)
VALUES (1, 1, 'john', MD5('johnpasswd'));Code language: SQL (Structured Query Language) (sql)

Потом создаём view в базе данных.

 mysql>
CREATE VIEW view_users AS
SELECT CONCAT(virtual_users.user, '@', virtual_domains.name) AS email,
virtual_users.password
FROM virtual_users
LEFT JOIN virtual_domains ON virtual_users.domain_id=virtual_domains.id;Code language: SQL (Structured Query Language) (sql)

Проверим результат

 mysql>
SELECT * FROM view_users;Code language: SQL (Structured Query Language) (sql)

Вы должны увидеть это:

+------------------+----------------------------------+
| email | password |
+------------------+----------------------------------+
| john@example.com | 14123123123243372b1cb9275e6dd |
+------------------+----------------------------------+Code language: Bash (bash)

Создадим файл конфигурации для Postfix’a в котором укажем данные для работы с почтовыми ящиками наших пользователей

touch /etc/postfix/mysql-virtual-mailbox-maps.cfCode language: Bash (bash)

С содержанием

 user = mailuser
password = mailuserpasswd
hosts = 127.0.0.1
dbname = mailserver
query = SELECT 1 FROM view_users WHERE email='%s'Code language: Bash (bash)

Применим изменения

 $>
postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql-virtual-mailbox-maps.cfCode language: Bash (bash)

Проверьте результат командой

postmap -q john@example.com mysql:/etc/postfix/mysql-virtual-mailbox-maps.cfCode language: Bash (bash)

Вы должны увидеть цифру 1 если все правильно настроено.

Если вам не нужны алиасы, можете пропустить этот пункт, но я редко такое вижу на практике

они нужны для пересылки почты с одного ящика на другой, или с нескольких на один

Добавим в базу данных тестовый альяс для нашего польователя john@example.com, вся почта пришедшая на его ящик будет дополнительно пересылаться на ящик jmiller@gmail.com

 INSERT INTO virtual_aliases (id, domain_id, source, destination)
VALUES (1, 1, 'john', 'john@example.com'),
(2, 1, 'john', 'jmiller@gmail.com');Code language: SQL (Structured Query Language) (sql)

Создадим view для альясов по аналогии с view для пользователей

 CREATE VIEW view_aliases AS
SELECT CONCAT(virtual_aliases.source, '@', virtual_domains.name) AS email,
destination
FROM virtual_aliases
LEFT JOIN virtual_domains ON virtual_aliases.domain_id=virtual_domains.id;Code language: SQL (Structured Query Language) (sql)

Проверим результат

 SELECT * FROM view_aliases;Code language: SQL (Structured Query Language) (sql)

Вы должны увидеть это

+------------------+-------------------+
| email | destination |
+------------------+-------------------+
| john@example.com | john@example.com |
| john@example.com | jmiller@gmail.com |
+------------------+-------------------+Code language: SQL (Structured Query Language) (sql)
touch /etc/postfix/mysql-virtual-alias-maps.cfCode language: Bash (bash)

С содержанием

user = mailuser
password = mailuserpasswd
hosts = 127.0.0.1
dbname = mailserver
query = SELECT destination FROM view_aliases WHERE email='%s'Code language: Bash (bash)

Проверим правильность настроек

 postmap -q john@example.com mysql:/etc/postfix/mysql-virtual-alias-maps.cfCode language: Bash (bash)

Вы увидите это

john@example.com,jmiller@gmail.comCode language: Bash (bash)
touch /etc/postfix/mysql-email2email.cfCode language: Bash (bash)

впишем в него

 user = mailuser
password = mailuserpasswd
hosts = 127.0.0.1
dbname = mailserver
query = SELECT email FROM view_users WHERE email='%s'Code language: Bash (bash)

Запишем настройки в главный файл конфига Postfix

 $>
postconf -e virtual_alias_maps=mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cfCode language: Bash (bash)

Выставим правильные права доступа на файлы конфигкрации почтового сервера, ведь в них хранятся пароли от базы данных

chgrp postfix /etc/postfix/mysql-*.cf
chmod u=rw,g=r,o= /etc/postfix/mysql-*.cfCode language: Bash (bash)

Далее настроим dovecot в качестве локального агента доставки писем, добавим в конец файла /etc/postfix/master.cf

 dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}Code language: Bash (bash)

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

postfix reloadCode language: Bash (bash)

И добавляем информацию о виртуальном транспорте в главный конфиг Postfix

 postconf -e virtual_transport=dovecot
postconf -e dovecot_destination_recipient_limit=1Code language: Bash (bash)

Перейдем к настройкам dovecot, все файлы его конфигурации хранятся в папке /etc/dovecot, начнем настройку с файла /etc/dovecot/dovecot.conf

Найдите строку protocols и смените на

 protocols = imap imaps pop3 pop3sCode language: Bash (bash)

Так же изменяем строку disable_plaintext_auth до состояния disable_plaintext_auth = no

также меняем параметр mail_location

 mail_location = maildir:/home/vmail/%d/%nCode language: Bash (bash)

Найдите строку namespace private и измените до

 namespace private {
separator = .
prefix = INBOX.
inbox = yes
}Code language: Bash (bash)

Перейдите к секции «auth default» и отредактируйте разрешенные механизмы аутентификации

 mechanisms = plain loginCode language: Bash (bash)

В этой же секции измените

 passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}Code language: Bash (bash)

Меняем параметр userdb static

 userdb static {
args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
}Code language: Bash (bash)

Переходим к секции socket listen сдесь мы укажем файлы сокета для аутентификации dovecot

 socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}Code language: Bash (bash)

Переходим к секции protocol lda, не забудьте сменить адрес постмастера на реальный

 protocol lda {
log_path = /home/vmail/dovecot-deliver.log
auth_socket_path = /var/run/dovecot/auth-master
postmaster_address = postmaster@example.com
mail_plugins = cmusieve
global_script_path = /home/vmail/globalsieverc
}Code language: Bash (bash)

На этом файл можно сохранить.
Далее редактируем файл /etc/dovecot/dovecot-sql.conf
Делаем как ниже

 driver = mysql
connect = host=127.0.0.1 dbname=mailserver user=mailuser password=mailuserpasswd
default_pass_scheme = PLAIN-MD5
password_query = SELECT email as user, password FROM view_users WHERE email='%u';Code language: Bash (bash)

Перезапускаем dovecot

 /etc/init.d/dovecot restartCode language: Bash (bash)

и смотрим лог файл /var/log/mail.log, там вы должны увидеть

 dovecot: Dovecot v1.0.rc15 starting up
dovecot: auth-worker(default): mysql: Connected to 127.0.0.1 (mymailserver)Code language: Bash (bash)

Правим права доступа к файлам конфигурации dovecot

 chgrp vmail /etc/dovecot/dovecot.conf
chmod g+r /etc/dovecot/dovecot.confCode language: Bash (bash)

Настроим TLS/SSL

 openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/dovecot.pem \
-keyout /etc/ssl/private/dovecot.pemCode language: Bash (bash)

Ответьте на несколько вопросов и сертификат будет создан, не забудьте указать правльно все параметры вместо примеров привеленных ниже

 Generating a 1024 bit RSA private key
.........++++++
............................++++++
writing new private key to '/etc/ssl/certs/dovecot.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Russia
Locality Name (eg, city) []:Russia
Organization Name (eg, company) [Internet Widgits Pty Ltd]:example.com
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:mail.example.com
Email Address []:postmaster@example.comCode language: Bash (bash)

Выставим права доступа на файл

 chmod o= /etc/ssl/private/dovecot.pemCode language: Bash (bash)

Создадим еще один сертификат по аналогии с предыдущим

 openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/postfix.pem \
-keyout /etc/ssl/private/postfix.pemCode language: Bash (bash)

Сменим права доступа

 chmod o= /etc/ssl/private/postfix.pemCode language: Bash (bash)

Вносим изменения в конфиг Postfix’a

 postconf -e smtpd_tls_cert_file=/etc/ssl/certs/postfix.pem
postconf -e smtpd_tls_key_file=/etc/ssl/private/postfix.pem
postconf -e smtpd_use_tls=yesCode language: Bash (bash)

Теперь настроим аутентификацию SMTP, не забываем сменить примеры на реальные адреса сетей! В примере используется сеть 192.168.50.0/24 ей разрешено отправлятиь почту без SMTP авторизации.

 postconf -e mynetworks=192.168.50.0/24
postconf -e smtpd_sasl_type=dovecot
postconf -e smtpd_sasl_path=private/auth
postconf -e smtpd_sasl_auth_enable=yes
postconf -e smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destinationCode language: Bash (bash)

Редактируем файл /etc/postfix/main.cf изменив параметр размера почтового ящика например на 10 мегабайт

 mailbox_size_limit = 102400Code language: Bash (bash)

На этом почти всё 🙂
Перезапускаем postfix и dovecot
/etc/init.d/postfix restart
/etc/init.d/dovecot restart

Проверим, всё и хорошо

postfix checkCode language: Bash (bash)

команда должна отдать пустой результат.

Все ошибки и прочие события из жизни вашего почтовика вы можете найти в логах

/var/log/mail.log
/var/log/mail.err
/var/log/mail.warn
/var/log/mail.infoCode language: Bash (bash)

Ах забыл совсем :)) у нас же есть ещё вэб морда для почты и завётся она
Настройка Squirrelmail

squirrelmail-configureCode language: Bash (bash)

Ответим на вопросы, введя данные, что использовали при настройке сервера
Теперь привяжем к апачу

cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail
ln -s /etc/apache2/sites-available/squirrelmail /etc/apache2/sites-enabled/squirrelmail
a2ensite squirrelmailCode language: Bash (bash)

Перезапустим апач

/etc/init.d/apache2 force-reloadCode language: Bash (bash)

Ну и всё готово 🙂
Заходим на

http://ip_servera/squirrelmailCode language: Bash (bash)

вводим логин пароль (логин вводится целиком с доменом)
squirrelmail

Вариант 2 более простой (postfix (smtp), sasl2 (Авторизция) cyrus-pop3d )

Стами postfix (smtp), sasl2 (Авторизция) cyrus-pop3d (POP3 демон)

apt-get install postfix libsasl2-2 libsasl2-modules sasl2-bin cyrus-imapd-2.2 cyrus-pop3d-2.2 cyrus-admin-2.2Code language: Bash (bash)

Во время первоначальной настройки postfix укажите конфигурацию для Интернет-сайта (Internet Site).
На вопрос об имени почтового сервера-оставьте вариант по-умолчанию или укажите свой. В нашем случае это было domain.ru

Настроим сервер авторизации saslauthd на использование базы данных паролей sasldb2.
Для этого отредактируем файл /etc/default/saslauthd:

START=yes
MECHANISMS="sasldb"Code language: Bash (bash)

Запускаем сервис

/etc/init.d/saslauthd startCode language: Bash (bash)

проверим работает ли он, но для начала необходимо добавить хотя бы одного пользователя.

proxy:~# saslpasswd2 test
Password:
Again (for verification):Code language: Bash (bash)

смотрим список пользователей

proxy:~# sasldblistusers2
test@proxy: userPasswordCode language: Bash (bash)

Пробуем авторизироваться

proxy:~# testsaslauthd -u test -p testCode language: Bash (bash)

На что получаем ответ

0: OK "Success.Code language: Bash (bash)

У почтового сервера postfix есть одна особенность — после запуска он работает в chroot окружении, которое находится в папке /var/spool/postfix/

Учитывая то, что для авторизации пользователей postfix будет использоваться демон saslauthd, нам нужно перенести его socket в рабочую директорию нашего сервера /var/spool/postfix/. Самый простой способ сделать это заключается в монтировании в нужную папку директории с уже созданным сокетом демона saslauthd.

Делается это редактированием файла /etc/fstab.

/var/run/saslauthd /var/spool/postfix/var/run/saslauthd none rw,bind 0 0Code language: Bash (bash)

Не забудьте поставить [Enter] после последней строки.
Создаём каталог и монтируем.

mkdir -p /var/spool/postfix/var/run/saslauthd
mount /var/run/saslauthdCode language: Bash (bash)

Настраиваем postfix на работу с sasl авторизацией
Добавим в /etc/postfix/main.cf

smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_authenticated_header = yes
smtpd_sasl_application_name = smtpdCode language: Bash (bash)

запретим отсылать почту через наш SMTP шлюз без авторизации. Для этого создадим файл /etc/postfix/sasl/smtpd.conf со следующим содержимым.

pwcheck_method: saslauthd
mech_list: PLAIN LOGINCode language: Bash (bash)

Перезапустим наш postfix сервер и просмотрим следующие файлы на предмет ошибок:

/etc/init.d/postfix restart
tail /var/log/mail.err
tail /var/log/mail.info
tail /var/log/mail.warn
tail /var/log/mail.logCode language: Bash (bash)

Если все чисто, сухо и гладко — обратимся к утилите telnet, для того, чтобы подключиться к нашему серверу.

root@proxy:/var/log# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 krasfun ESMTP Postfix (Ubuntu)
EHLO www.ru
250-krasfun
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
root@proxy:/var/log#Code language: Bash (bash)

Если у вас нечто похожее — продолжаем

Для того, чтобы «подружить» saslauthd и postfix необходимо выполнить следующее:

adduser postfix saslCode language: Bash (bash)

Cyrus — это мощный набор POP3/NNTP/IMAP и некоторых других демонов для создания полноценных сервисов работы с электронной почтой.

Отредактируем файл /etc/imapd.conf

admins: cyrus
allowplaintext: yes
sasl_mech_list: PLAIN
sasl_pwcheck_method: saslauthd auxprop
sasl_auxprop_plugin: sasldbCode language: Bash (bash)

Обратите внимание, что cyrus так же, как и saslauthd, придется взаимодействовать с postfix, поэтому их нужно сделать доступными друг другу. Воспользуемся уже известным механизмом:
/etc/fstab :

/var/run/cyrus /var/spool/postfix/var/run/cyrus none rw,bind 0 0Code language: Bash (bash)

создаём каталоги для cyrus.

mkdir -p /var/spool/postfix/var/run/saslauthd
mkdir -p /var/spool/postfix/var/run/cyrus
mount /var/spool/postfix/var/run/saslauthd
mount /var/spool/postfix/var/run/cyrusCode language: Bash (bash)

Монтируем

mount /var/run/cyrusCode language: Bash (bash)

предоставим возможность cyrus забирать почту у postfix и отпалять почту на куда угодно. Отредактируем файл /etc/postfix/main.cf:

mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
local_recipient_maps =Code language: Bash (bash)

Добавим группу и добавим в неё постфикс

addgroup lmtp
adduser postfix lmtpCode language: Bash (bash)

Дальше 2 команды

dpkg-statoverride --remove /var/run/cyrus/socket
dpkg-statoverride --force --update --add cyrus lmtp 750 /var/run/cyrus/socketCode language: Bash (bash)

Добавим пользователя cyrus в нашу базу учетных записей:

saslpasswd2 -c cyrusCode language: Bash (bash)

Введите пароль, когда вас об этом попросят, и перезапустим наши демоны:

/etc/init.d/postfix start
/etc/init.d/cyrus2.2 restart
/etc/init.d/saslauthd restartCode language: Bash (bash)

Добавим почтового пользователя например saber и создадим ему каталоги

saslpasswd2 –c saber
cyradm localhost –user cyrus
localhost> cm user.saber
localhost> cm user.saber.INBOX
localhost> cm user.saber.Sent
localhost> cm user.saber.Draft
localhost> cm user.saber.TrashCode language: Bash (bash)

UPD1 01.02.2013 Эта часть,что выше, устарела немного и пользователь создаётся другим путём, я дословно не помню но примерно так

saslpasswd2 saber

cyradm
login cyrus
localhost> cm user.saber
localhost> cm user.saber.INBOX
localhost> cm user.saber.Sent
localhost> cm user.saber.Draft
localhost> cm user.saber.TrashCode language: Bash (bash)

Вот как-то так я добалял пользователей недавно

На этом всё, можно пользоваться, рекомендую ещё настроить шифрование, но мне оно не нужно было 😉

Настройка клиента
Буду на основе Аутглюк экспресс.
Добавляем почтовый акк, в общем всё как обычно КРОМЕ
не ставим галочку
«Использовать безопасную бла бла SPA»

и ставим галочку ниже Сервер исходящей почты «проверка подлинности пользователя»
И всё можно пользоваться 🙂

Comments

10 ответов для «ubuntu почтовый сервер ( ubuntu mail server )»

  1. Аватар пользователя Anonymous
    Anonymous

    Спасибо за содержательную статью. Одна проблема. При загрузке системы авторизация не работает. Лечится вручную mount -a.
    Что не так в /etc/fstab ?

  2. Аватар пользователя Developer
    Developer

    Да есть проблема, хз даже что с файлом не так. уже и так и сяк и самое инетерсное на некторых тачках прокатывает, а на одной упирается и всё

  3. Аватар пользователя sln
    sln

    делал по первому методу, к pop3 коннектит а к smtp не хочет,в чем проблема может быть?

  4. Аватар пользователя admin
    admin

    Может потому что надо коннектится по ssl по моему 995 порт.

  5. Аватар пользователя Alexey

    nano /etc/default/saslauthd

    там:
    OPTIONS=»-c -m /var/spool/postfix/var/run/saslauthd»
    #OPTIONS=»-c -m /var/run/saslauthd»
    И ненужно мудрить с fstab

  6. Аватар пользователя GameOver
    GameOver

    :mrgreen: делал все по первому способу да есть небольшик касяки в статейке но не беда…я в линуксе ковыряюсь уже 1.5 месяца…разабрался…думаю не проблема для профи).ну даладно суть то в другом как теперь добавлять пользователей в базу и ваще что бы они могли переписыватся. а то я попробывал по аналогии чет маскуль ругается:(подскажите поподробнее как делать ящики для пользователей.заранее сенк

  7. Аватар пользователя GameOver
    GameOver

    не могу получать почту с внешних серверов по первому способу:(

  8. Аватар пользователя Andrews
    Andrews

    В mail.log пишет : \»fatal: /etc/postfix/master.cf bad transport type: user=vmail\» Ну и на этом все стоит. Squirell не пускает. Делал по первому способу. ОС-Ubuntu 14

  9. Аватар пользователя Си
    Си

    Делается это редактированием файла /etc/fstab.
    /var/run/saslauthd /var/spool/postfix/var/run/saslauthd none rw,bind 0 0

    куда это прописывать?

  10. Аватар пользователя Виктор
    Виктор

    У кого после внесения в /etc/fstab перестает грузится система

    /var/run/saslauthd /var/spool/postfix/var/run/saslauthd bind defaults,nodev,noauto,bind 0 0
    /var/run/cyrus /var/spool/postfix/var/run/cyrus bind defaults,nodev,noauto,bind 0 0

    Потом в /etc/rc.local вносим следующие строки

    mount /var/spool/postfix/var/run/saslauthd
    mount /var/run/cyrus

    После этого система будет нормально грузится

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *