Отправка почты при помощи telnet

И так, запускаем telnet:

telnet server.com 25

server.com — это имя вашего почтового сервера, вместо имени, вы так же можете использовать Ip адрес. Вы должны будете увидеть приветствие сервера, например такое для iRedMail:

Trying 80.91.175.92…
Connected to eddnet.org (80.91.175.92).
Escape character is ‘^]’.
220 eddnet.org ESMTP iRedMail

Или для MS Exchnge 2007:

Trying 172.16.1.2…
Connected to 172.16.1.2 (172.16.1.2).
Escape character is ‘^]’.
220 corpmail.ua Microsoft ESMTP MAIL Service ready at Wed, 17 Nov 2010 12:40:30 +0200

После того, как вы подключились к серверу:

HELO server.com
MAIL FROM:you@server.com

Дождитесь 250 2.1.0 Ok

RCPT TO: you@server.com

Дождитесь 250 2.1.5 Ok. Теперь напишем само письмо, для этого вводим:

DATA

В первой строке печатаем:

SUBJECT:<Ваша тема письма>

После того как вы набрали тему, дважды нажмите enter. Теперь можно написать само послание. Что бы закончить письмо и отослать, перейдите на новую строку, поставьте точку (.) и нажмите enter, после чего вы должны увидеть такое сообщение:

Message accepted for delivery

или

250 2.0.0 Ok: queued as 1994E1C0701

Номер в очереди естественно будет другой


Количество просмотров :2672

Востанавливаем забытый пароль рута к MySQL

Если вы забыли пароль к MySQL, не волнуйтесь, не вы первый, не вы последний, из любой ситуации есть выход. Сперва нам необходимо перезапустить MySQL в режиме игнорирования прав, для этого, останавливаем MySQL:

service mysqld stop

А затем с ново запускаем:

/usr/bin/mysqld_safe —skip-grant-tables

Единственное неудобство, это то, что вам будет необходимо запустить еще одну консоль, и оттуда подключиться к MySQL:

mysql -uroot

Теперь меняем пароль, для пользователя root:

use mysql;
UPDATE user SET Password=PASSWORD(‘new password’) WHERE Host=’localhost’ AND User=’root’;
quit;

Не забудьте перезапустить MySQL нормальном режиме:

service mysqld restart

Количество просмотров :2044

Синхронизация файлов между серверами при помощи Rsync

RSync это замена для старого rcp с помощью которого можно копировать файл между UNIX системами.RSync использует алгоритм отслеживающий изменения файла и копирует только необходимые части. Так же появилось множество новых возможностей, таких как работа через SSH или сжатие данных перед началом передачи. Я использую Rsync для синхронизации файлов между серверами, для этого можно использовать такие команды:

rsync -e ssh —progress -lzuogthvr —compress-level=9 —delete-after root@<IP или имя сервера>:/home/<USER> /home/

или

rsync -e ssh —progress -lzuogthvr —compress-level=9 —delete-after /home/<USER> root@<IP или имя сервера>:/home/

зависит от направления синхронизации.

Если вам нужно исключить какие-то файлы, вы можете использовать ключ —exclude

Ключи:

  • e — заменяет протокол с rsh на ssh
  • progress — вывод хода процесса работы на терминал
  • l — пересоздание symlinks, это значит, что символические ссылки будут так же переноситься
  • z — использовать сжатие
  • u — update. Обновление, он будет пропускать файлы которые новей, чем на удалённом сервере
  • o — установить владельца конечного файла таким же, как и у исходного
  • g — установить группу конечного файла таким же, как и у исходного
  • t — передача времени модификации и его обновление на удаленной системе. Этот ключ должен быть установлен для точной синхронизации
  • h — вывод информации на терминал в удобном для чтения (human-readable) виде
  • v — verbose. Вывод сообщений в терминал.
  • r — рекурсивный режим
  • n — отладочный режим
  • compress-level — уровень сжатия
  • delete-after — удалять файлы, которые не были найдены на удалённом сервере, “-after” означает, что удалить их нужно, только после окончания синхронизации. Так-же есть delete-before, delete-during, delete-excluded и просто delete

P.S. Не забудте организовать без парольный доступ между серверами по SSH.


Количество просмотров :4897

Mysql кеш

Если вы достаточно часто на сервере выполняете одни и те же запросы к MySQL-ю, то кеш намного ускорит процесс передачи информации. Для того, что бы проверить включен ли у вас кеш, зайдите в MySQL консоль и выполните:

show variables like ‘query_cache%’;

Если вы увидите что подобное:

  +------------------------------+----------+
  | Variable_name                | Value    |
  +------------------------------+----------+
  | query_cache_limit            | 10485760 |
  | query_cache_min_res_unit     | 4096     |
  | query_cache_size             | 67108864 |
  | query_cache_type             | ON       |
  | query_cache_wlock_invalidate | OFF      |
  +------------------------------+----------+

То кеш включен, если же значение query_cache_type — OFF или query_cache_size будет равно 0, то кеш, в первом случаи выключен, а во втором включен, но размер его 0. Для того, что бы это исправить, отредактируйте ваш файл my.cnf:

query_cache_type = 1
query_cache_size = 64M

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

show global status like ‘Qcache%’;

Если кеш включен то результат будет такой:

+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 878      |
| Qcache_free_memory      | 55138552 |
| Qcache_hits             | 894707   |
| Qcache_inserts          | 85813    |
| Qcache_lowmem_prunes    | 0        |
| Qcache_not_cached       | 48462    |
| Qcache_queries_in_cache | 4670     |
| Qcache_total_blocks     | 10380    |
+-------------------------+----------+

Значение Qcache_hits показывает нам, насколько часто запросы проходят через кеш.


Количество просмотров :2191

Sudo: sorry, you must have a tty to run sudo

sudo: sorry, you must have a tty to run sudo это достаточно распространенная ошибка, если вы пытаетесь выполнить команду в скрипте от другого пользователя при помощи sudo. Дело в том, что по умолчанию, sudo, может быть запущен только если пользователь был залогинен с реальным tty. Для того, что бы исправить положение, достаточно отредактировать ваш файл /etc/sudoers и закоментировать строку Default requiretty:

#Default requiretty

Количество просмотров :11621

Alias для часто используемых команд

Команда Alias позволяет  запускать вам команды сразу с определенными параметрами. Это очень удобно в том случаи если вы каждый день используете какие-то команды с параметрами. Для большей наглядности, например, я часто пользуюсь командой

ps ax | grep

при помощи alias ее можно уменьшить, для этого выполним:

alias psax=’ps ax|grep’

теперь, как пример, я могу просто выполнить:

psax amavisd что эквивалентно ps ax|grep amavisd

Или, другой пример:

alias …=’cd ../..’

Мы привзязываем троеточие к переходу на два католога вверх.

Если вам необходимо отменить привязку, то воспользуйтесь командой unalias:

unalias psax

Для просмотра всех привязок, просто выполните:

alias

 


Количество просмотров :1889

Автоматическое вылогинивание пользователей Bash и SSH при неактиности сессии

Для того, что бы автоматически вылогинивать неактивных пользователей из Bash, создайте файл autologout.sh в папке /etc/profile.d/ с таким содержанием:

TMOUT=600
readonly TMOUT 
export TMOUT

Устанавливаем права на этот файл:

chmod +x /etc/profile.d/autologout.sh

Данный скрипт автоматически вылогинивает неактивного пользователя через 10 минут

Для SSH нам необходимо отредактировать файл /etc/ssh/sshd_config. Найдите и измените или при необходимости добавте такие строки:

ClientAliveInterval 600 
ClientAliveCountMax 0

Обязательно перезапустите sshd

service sshd restart

 


Количество просмотров :2271

Автоматическое внесение адресов почты получателей в белый лист policyd на Postfix-е

И так, проблема стара как мир, мне очень часто звонят пользователи и администраторы других объектов с проблемой, что к ним почту отправили, но вот уже ждут не первый час и она все еще не дошла. В 99.9% случаев она не прошла GreyListing и наш сервер до сих пор ждет повторного запроса. Через какое-то время мне все это надоело, и я решил добавить несколько скриптов что бы добавлять в белый лист policyd на 3 месяца адреса на которые пишут мои пользователи. Скажу сразу, что проблема была решена, и теперь, проблемные звонки исчезли как страшный сон.

Читать продолжении статьи: Автоматическое внесение адресов почты получателей в белый лист policyd на Postfix-е »


Количество просмотров :4828

Запрещаем прием писем с определенными вложениями в Postfix

В /etc/postfix/main.cf добавляем

header_checks = pcre:/etc/postfix/header_checks

А в /etc/postfix/header_checks

/^(.*)name=\»(.*)\.(exe|bat|cmd|mp3)\»$/ REJECT Attachment type not allowed. File «$2» has unacceptable extension: «$3»

Тогда в логах будет приблизительно такое:

Attachment type not allowed. File «document.rar» has unacceptable extension: «rar»

 


Количество просмотров :2739

Сохраняем копии всей входящей и исходящей почты в Postfix-е

Для того, что бы сохранить копии всех исходящих писем необходимо в /etc/postfix/main.cf добавляем

sender_bcc_maps = hash:/etc/postfix/sender_bcc_maps

А в /etc/postfix/sender_bcc_maps

#Вся почта исходящая из домена eddnet.org на info@eddnet.org
@eddnet.org sender_bcc@eddnet.org

Для того, что бы сохранить копии всех входящих писем нужно в /etc/postfix/main.cf добавить

recipient_bcc_maps = hash:$config_directory/recipient_bcc_maps

В /etc/postfix/recipient_bcc_maps

# Вся входящая почта для домена eddnet.org пересылать на info@eddnet.org
@eddnet.org info@eddnet.org

Если вы хотите что бы и входящие и исходящие копии писем пересылались на определенный адрес, то вам необходимо добавить в /etc/postfix/main.cf

always_bcc = all@sys-adm.org.ua

Обязательно в конце

postmap /etc/postfix/sender_bcc_maps
postmap /etc/postfix/recipient_bcc_maps
service postfix restart

 


Количество просмотров :18230