Параметры для iflag, oflag:
Также отдельно стоит рассмотреть параметры и . Они позволяют задать дополнительные флаги: — для устройств ввода, а — для вывода.
Наиболее популярные флаги:
- — режим дописывания данных в файл. применяют только для вывода. Когда вы объедините этот флаг с конструкцией “”, нужно еще указать параметр “”, чтобы выходной файл не был обрезан из-за добавления новых данных.
- — режим обработки данных в обход кэша. Этот флаг повышает скорость.
- — запись данных с синхронизацией. Этот флаг повышает надежность.
- — так же как и , но и с метаданными.
- — выдавать ошибку, при использовании каталога.
- — чтение только полных блоков. Применяется только для .
- — не обновляет время доступа к элементам файловой системы. Флаг повышает скорость.
- — запрет на переход по символическим ссылкам.
Настройка клиента
Рассмотрим принцип настройки клиента Mutt для работы по IMAP и POP3.
IMAP + SMTP
Открываем конфигурационный файл:
vi ~/.muttrc
И приводим его к следующему виду:
set from = master@dmosk.ru
set imap_user = master@dmosk.ru
set imap_pass = password
set smtp_pass = password
set realname = «Дмитрий Моск»
set smtp_url = smtp://smtp.dmosk.ru:465/
set folder = imaps://imap.dmosk.ru:993
set spoolfile = +INBOX
set postponed = +/Drafts
set use_from = yes
set editor=’nano’
set sort = reverse-threads
set sort_aux = last-date-received
set fast_reply=yes
set include=yes
set forward_quote=yes
set delete=yes
set imap_keepalive = 900
set copy = no
set move = no
set header_cache = ~/.mutt/cache/headers
set message_cachedir = ~/.mutt/cache/bodies
set certificate_file = ~/.mutt/certificates
set ssl_starttls = yes
set ssl_force_tls = yes
set smtp_authenticators = ‘login’
* где необходимо обратить внимание на следующие опции:
- master@dmosk.ru — адрес электронной почты; Используем для поля from и в качестве логина.
- master — имя учетной записи;
- password — пароль;
- Дмитрий Моск — отображаемое имя;
- smtp.dmosk.ru — SMTP-сервер; В данном примере мы подключаемся к серверу по SSL-порту 465. Также могут быть варианты 587 и 25.
- imap.dmosk.ru — сервер IMAP. Подключение выполняем по SSL-порту 993. Также можно использовать порт 143.
Для проверки вводим команду:
mutt
При запросе подтвердить принятие сертификата, нажимаем a.
POP3 + SMTP
Открываем конфигурационный файл:
vi ~/.muttrc
И приводим его к следующему виду:
set from = master@dmosk.ru
set smtp_pass = password
set realname = «Дмитрий Моск»
set smtp_url = smtp://smtp.mail.ru:465/
set pop_user = master@dmosk.ru
set pop_pass = password
set pop_host = pops://pop.dmosk.ru:995/
set pop_reconnect = yes
set pop_checkinterval = 1
set pop_delete = no
set mbox_type = mbox
set folder = ~/mail
set mbox = +Inbox
set spoolfile= +Inbox
set use_from = yes
set editor=’nano’
set sort = reverse-threads
set sort_aux = last-date-received
set fast_reply=yes
set include=yes
set forward_quote=yes
set delete=yes
set imap_keepalive = 900
set copy = no
set move = no
set header_cache = ~/.mutt/cache/headers
set message_cachedir = ~/.mutt/cache/bodies
set certificate_file = ~/.mutt/certificates
set ssl_starttls = yes
set ssl_force_tls = yes
set smtp_authenticators = ‘login’
* где необходимо обратить внимание на следующие опции:
- master@dmosk.ru — адрес электронной почты; Используем для поля from и в качестве логина.
- master — имя учетной записи;
- password — пароль;
- Дмитрий Моск — отображаемое имя;
- smtp.dmosk.ru — SMTP-сервер; В данном примере мы подключаемся к серверу по SSL-порту 465. Также могут быть варианты 587 и 25.
- imap.dmosk.ru — сервер IMAP. Подключение выполняем по SSL-порту 993. Также можно использовать порт 143.
Для проверки вводим команду:
mutt
При запросе подтвердить принятие сертификата, нажимаем a.
3.4 Setting variables based upon mailbox
Usage: pattern command
It is often desirable to change settings based on which mailbox you are
reading. The folder-hook command provides a method by which you can execute
any configuration command. pattern is a regular expression specifying
in which mailboxes to execute command before loading. If a mailbox
matches multiple folder-hook’s, they are executed in the order given in the
muttrc.
Note: if you use the «!» shortcut for
at the beginning of the pattern, you must place it
inside of double or single quotes in order to distinguish it from the
logical not operator for the expression.
However, the sorting method is not restored to its previous value when
reading a different mailbox. To specify a default command, use the
pattern «.»:
Синтаксис и опции umask
Команда umask, как было сказано ранее, определяет битовую маску, которая будет применена к новым файлам. У команды довольно простой синтаксис и есть только несколько опций:
$ umask опции маска_в_восьмеричном_виде
Помимо маски в восьмеричном виде есть и способ задания прав по умолчанию схожий с синтаксисом команды chmod:
$ umask опции u=права,g=права,o=права
Опции утилиты:
- -p — вывести команду umask, которая при выполнении задаст текущую маску в восьмеричном виде;
- -S — вывести права по умолчанию для папки в формате u=rwx, g=rwx, o=rwx рассчитанные по текущей маске.
Посмотреть текущее значение маски можно двумя способами. Если команде передать опцию -p, то она выведет команду для установки текущей маски:
Параметр -S выводит текущие разрешения в формате u=rwx, g=rwx, o=rx, где х (выполнение) относится только к каталогам. Право на выполнение для файлов можно выдать только с помощью chmod.
Теперь рассмотрим способы задания маски:
Как видите, четвертую цифру можно опустить. Маску можно задать и с помощью более традиционных обозначений:
В отличие от битовой маски, таким способом прописываются разрешения, а не запреты. Иными словами, права задаются ровно так же, как и в chmod. В этом примере для категории other мы не указали никаких прав, таким образом запрещены все три операции. Для файлов, как и в случае с битовой маской, право на выполнение не выдаётся.
Группы прав можно объединять, или же задавать права сразу для всех категорий, использовав параметр a= (all).
Также имеется возможность работы с отдельными правами. Оператором + или — можно разрешить или запретить определённое действие, остальные биты в маске останутся нетронутыми.
Помимо прочего вы можете комбинировать два предыдущих способа. Например, разрешить пользователю все операции, а группе и остальным пользователям убрать право на чтение.
Переходим к самому интересному – применению команды на практике. Из очевидного стоит отметить добавление команды в какой-либо скрипт. Например, можно запретить изменение файлов, которые будут записаны в дальнейшем. Напомним, что команда будет действовать в пределах одной сессии терминала.
В этом примере при выполнении скрипта необходимо иметь маску по умолчанию, поэтому прописывается команда umask.
Другой пример использования не столь безопасный. Команда прописывается в конфигурационных файлах пользователя. Изменить маску для оболочки терминала можно добавлением строчки с командой umask в файле ~/.bashsrc. Это справедливо для дистрибутивов на основе Debian. В других дистрибутивах может потребоваться редактирование файла .profile.
Глобальные изменения оболочки вступят в силу после добавления строчки в файл /etc/bash.bashsrc. Но эта маска имеет меньший вес, чем та, что задаётся в домашнем каталоге. Впрочем, вы можете задать лишь необходимые права для пользователя, а остальные оставить из глобальной конфигурации. Например, для пользователя задать параметр g+w, что разрешит ему изменение файлов группы.
Изменение маски для всех программ системы – нетривиальная задача, которая потребует внесение множества правок. Поэтому вместо этого используют локальные права, установленные командой setfacl.
Примеры настройки для разных почтовых систем
Яндекс
По умолчанию, доступ на Яндекс из почтовых клиентов закрыт. Необходимо зайти на почту в браузере, кликнуть по значку шестеренки — Все настройки — Почтовые программы — Включить «С сервера imap.yandex.ru по протоколу IMAP». Подробнее в инструкции Настройка почты GMAIL и Яндекс для подключения по IMAP или POP3.
Далее создаем файл с настройкой mutt:
vi ~/.muttrc
set realname = «Дмитрий Моск»
set from = username@yandex.ru
set use_from = yes
set imap_user = username@yandex.ru
set imap_pass = password
set smtp_url = smtp://smtp.yandex.ru:465/
set smtp_pass = password
set smtp_authenticators = ‘login’
set ssl_starttls = yes
set ssl_force_tls = yes
set folder = imaps://imap.yandex.ru:993
set spoolfile = +INBOX
set postponed = +/Drafts
set record = =Отправленные
@Mail.ru
vi ~/.muttrc
set realname = «Дмитрий Моск»
set from = username@mail.ru
set use_from = yes
set imap_user = username@mail.ru
set imap_pass = password
set smtp_url = smtp://smtp.mail.ru:465/
set smtp_pass = password
set smtp_authenticators = ‘login’
set ssl_starttls = yes
set ssl_force_tls = yes
set folder = imaps://imap.mail.ru:993
set spoolfile = +INBOX
set postponed = +/Drafts
set record = =Отправленные
GMAIL
Как в случае с Яндексом, в GMAIL также необходимо включить поддержку imap. Для этого заходим в настройки почты (кликаем по значку шестеренки) — Настройки — Пересылка и POP/IMAP — Включить IMAP.
На этом не все — Google требует безопасную аутентификацию OAuth2. Чтобы у нас заработал Mutt, необходимо разрешить подключение с устаревших приложений. Для этого заходим в настройки общего аккаунта Google — Безопасность — прокручиваем до «Ненадежные приложения, у которых есть доступ к аккаунту» — кликаем по Открыть доступ (не рекомендуется) — меняем положение переключателя «Небезопасные приложения заблокированы» на положение «включено».
Подробнее о включении IMAP и POP3 для почты от Google читайте в инструкции Настройка почты GMAIL и Яндекс для подключения по IMAP или POP3.
vi ~/.muttrc
set realname = «Дмитрий Моск»
set from = username@gmail.com
set use_from = yes
set imap_user = username@gmail.com
set imap_pass = password
set smtp_url = smtp://smtp.gmail.com:465/
set smtp_pass = password
set smtp_authenticators = ‘login’
set ssl_starttls = yes
set ssl_force_tls = yes
set folder = imaps://imap.gmail.com:993
set spoolfile = +INBOX
set postponed = +/Drafts
set record = =Отправленные
Как использовать Mutt в Linux
Прежде чем вы сможете отправлять и получать электронные письма с помощью Mutt, вам необходимо запустить приложение. Запустите терминал и введите mutt, чтобы запустить приложение:
Чтобы отправлять новые электронные письма с помощью Mutt, введите m в терминале. Mutt запросит адрес электронной почты получателя, тему и текст сообщения. Вы также можете прикрепить файл, если хотите. После обновления всех деталей нажмите y, чтобы отправить электронное письмо.
3. Отправить электронное письмо с вложением
Чтобы добавить файл как вложение, укажите путь к файлу в конце команды:
Если вы хотите прикрепить несколько файлов, передайте имена файлов, разделенные символом пробела .
5. Добавьте получателей в режимах CC и BCC.
Вы можете использовать флаги -c и -b, чтобы указать адреса электронной почты для копии и скрытой копии.
В приведенном ниже примере Mutt будет использовать winibhalla533@gmail.com в качестве адреса « Кому» , в то время как он будет копировать электронную почту на winibhalla123@gmail.com и winibhalla234@gmail.com соответственно.
Права доступа в Linux
Поскольку команда umask используется для настройки прав по умолчанию, надо сначала разобраться какие есть права. Как было сказано ранее, Linux следует стандартам POSIX, что делает его UNIX-совместимой операционной системой. В общем случае права доступа в UNIX разбиты на три категории:
Каждая категория имеет три вида прав, причём эти права имеют отличия для файлов и каталогов. Для файлов:
Для каталогов:
Вы можете посмотреть список прав командой для файлов в любом текущем каталоге такой командой:
Вы увидите что-то вроде -rwxrw-r—, где первый символ служит для обозначения папок и символических ссылок, а последующие символы можно разбить на группы по три, для категорий u, g и o соответственно.
С файлами всё понятно, но для каталогов параметры r и x могут вносить некоторую неясность. Если запретить чтение списка файлов (r), то вы не сможете открыть каталог, но при этом можете открыть и изменить файл, если знаете его имя, также доступно создание новых файлов. Если запретить открытие файлов (x), то вы не сможете открыть каталог и прочитать файлы в нём, но при этом с помощью команды ls вы получите список файлов без какой-либо конкретики в виде прав и размера файлов.
По умолчанию новые файлы будут иметь права -rw-rw-r—, где первый прочерк говорит о том, что перед нами файл. Для папок же права будут выглядеть следующим образом: drwxrwxr-x, где d говорит о том, что мы имеем дело с папкой (l будет означать символическую ссылку).
Права могут быть выражены не только в виде последовательности букв, но и в восьмеричном виде, например, для -rw-rw-r— запись будет выглядеть вот так: 0664. Права для файла по умолчанию в Linux в восьмеричном формате записываются как 0666, а для каталога 0777. В этом случае 0 ничего не означает, а каждая цифра означает набор прав для определённой группы. Сначала владелец, потом группа, а потом все остальные. Но благодаря маске в Linux по умолчанию для файла выставляются права 0664, а для директории 0775. Именно на установку этих значений влияет команда umask. Подробнее о правах доступа к файлам можете узнать из нашей статьи.
Дополнительная функциональность[править]
Все же mutt нельзя считать самодостаточной почтовой программой, некоторая функциональность в нем отсутствует, другая ограничена. Благодаря тому, что его создатели придерживаются общепринятых стандартов, возможно расширить его возможности путем подключения сторонних программ.
В таблице приведены некоторые доппрограммы, которые можно подключить к mutt:
Название | Функции | Ссылки |
---|---|---|
abook | Полноценная адресная книга | |
fetchmail | Позволяет получать почту с нескольких аккаунтов | |
procmail | Рассортировывает почту по ящикам | |
formail | Удаляет дубликаты писем | |
bmf | Подключает байесовский фильтр спама | |
msmtp | Поддерживает расширенную отправку почты |
Примеры использования командной строки для email-отправки
1. Отправка письма с вложением
Для разных типов дистрибутива Linux команды могут отличаться.
а) для CentOS / Red Hat:
echo ‘Attachment’ | mail -s ‘Subject attachment message’ -a /var/log/maillog master@dmosk.ru
б) для Ubuntu:
echo ‘Attachment’ | mail -s ‘Subject attachment message’ -a /var/log/maillog -a /var/log/maillog2 master@dmosk.ru
… или:
echo ‘Attachment’ | mail -s ‘Subject attachment message’ -A /var/log/maillog -A /var/log/maillog2 master@dmosk.ru
* где /var/log/maillog и /var/log/maillog2 — файлы, которые будут прикреплены к письму
Обратите внимание, что обе команды отличаются по регистру опции a и A — все зависит от версии и сборки Linux (в каких-то нужно использовать маленькую, в каких-то — большую). Также обратите внимание, что в примере для Ubuntu мы отправим 2 файла — для этого просто добавляем к команде еще одну опцию прикрепления файла
2. Несколько получателей
Для отправки письма нескольким получателям, просто перечисляем их через запятую:
echo «Test text» | mail -s «Test title» master@dmosk.ru,shmaster@dmosk.ru
* в данном примере мы отправил письмо на ящики master@dmosk.ru и shmaster@dmosk.ru.
3. Отправка с копией
Отправить копию на адрес master2@dmosk.ru:
echo «Test copy» | mail -s «Test copy title» master@dmosk.ru -c master2@dmosk.ru
Отправить скрытую копию на адрес master3@dmosk.ru:
echo «Test hidden copy» | mail -s «Test hidden copy title» master@dmosk.ru -b master3@dmosk.ru
4. Указать отправителя
В CentOS / Red Hat:
echo «Test text» | mail -s «Test title» -r postmaster@dmosk.ru master@dmosk.ru
В Debian / Ubuntu:
echo «Test text» | mail -s «Test title» master@dmosk.ru -aFrom:postmaster@dmosk.ru
5. Отправка через другой SMTP сервер
а) Для Ubuntu / Debian:
echo «Test text» | mail -s «Test title» -a «Smtp: smtp.mail.ru:25» -a «From: postmaster@dmosk.ru» -a «Return-path: postmaster@dmosk.ru» master@dmosk.ru
б) Для CentOS / Red Hat:
echo «Test text» | mail -s «Test title» -S smtp=»smtp.mail.ru:25″ master@dmosk.ru
Однако, если сторонний почтовый сервер работает по шифрованному каналу и требует аутентификацию, необходимо ввести следующее:
echo «Test text» | mail -v -s «Test title» -S smtp=»smtp.dmosk.ru:587″ -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user=»master@dmosk.ru» -S smtp-auth-password=»password» -S ssl-verify=ignore -S nss-config-dir=/etc/pki/nssdb -S from=postmaster@dmosk.ru master@dmosk.ru
* где smtp.dmosk.ru — сервер smtp; 587 — порт для подключения к серверу отправки; smtp-use-starttls указывает на использование шифрования через TLS; smtp-auth=login задает аутентификацию с использованием логина и пароля; smtp-auth-user и smtp-auth-password — соответственно логин и пароль; ssl-verify=ignore отключает проверку подлинности сертификата безопасности; nss-config-dir указывает на каталог с базами nss; from задает поле FROM
Installing mutt
mutt can be installed by yum utility as follows.
# yum install mutt .... Dependencies Resolved ======================================================================================================================================================================================================== Package Arch Version Repository Size ======================================================================================================================================================================================================== Installing: mutt x86_64 5:1.5.21-27.el7 base 1.4 M Installing for dependencies: mailcap noarch 2.1.41-2.el7 base 31 k tokyocabinet x86_64 1.4.48-3.el7 base 459 k urlview x86_64 0.9-15.20121210git6cfcad.el7 base 27 k Transaction Summary ======================================================================================================================================================================================================== Install 1 Package (+3 Dependent packages) Total download size: 1.9 M Installed size: 7.3 M Is this ok [y/d/N]: y
Установка
Mutt это cвободно-распространяемая
программа, которая портирована на
множество ОС, поэтому с компиляцией
из исходных текстов, которые можно
взять здесь http://www.mutt.org/download.html,
или с установкой из
прекомпилированных пакетов
проблем возникнуть не должно.
Например, с CD-ROM’а FreeBSD, mutt,
соответствующей версии, можно
установить как пакет:
su && mount /cdrom && pkg_add /cdrom/packages/mail/mutt/mutt-1.4.1i.tar.gz
или скомпилировать из исходных
текстов через систему портов:
$ su && cd /usr/ports/mail/mutt && make install && make clean && exit
Сразу после установки можно
убедиться, что mutt вполне
работоспособен даже с
конфигурацией по-умолчанию. Для
этого выполним команду:
$ mutt
На экране должен появиться черно-белый
интерфейс mutt:
Как настроить Mutt в Linux
На первом этапе настройки вы должны создать несколько каталогов, в которых система будет хранить почту, заголовки и сертификаты после установки.
По очереди выполните следующие команды:
Создайте файл конфигурации Mutt с помощью сенсорной команды :
Откройте файл muttrc с помощью вашего любимого текстового редактора:
Как только редактор откроется, пора начать вводить данные IMAP и SMTP вашего почтового ящика, чтобы заполнить настройки почтового ящика для входящей и исходящей почты.
Вот настройки:
В этом примере показано, как настроить учетную запись Gmail с помощью Mutt. Обязательно замените username , First и Last в приведенном выше фрагменте на свой адрес электронной почты, имя пользователя, имя и фамилию соответственно.
Расшифровка команд для настроек электронной почты
- От : Идентификатор электронной почты отправителя
- Настоящее имя : это будет ваше имя, которое будет отображаться в электронном письме.
- IMAP_user : это ваш адрес электронной почты.
- IMAP_pass : ваш пароль электронной почты, если вы уверены, что никто другой не получит доступ к вашему почтовому ящику.
- SMTP_url : первая часть определяет URL-адрес, по которому ваш почтовый ящик будет отправлять сообщения для доставки.
- SMTP_pass : пароль почтового ящика
- Папка : расположение вашего почтового ящика
- Spoolfile : папка внутри почтового ящика, куда приходят электронные письма.
- Отложено : ссылка на папку для хранения отложенных сообщений (черновиков).
- Запись : каталог, в котором Gmail хранит отправленные сообщения.
- Корзина : каталог для хранения удаленных писем.
Назначение команды dd
Мы упоминали, что основная задача — обработка файлов. Но в Linux все устройства, порты, оперативная память и память с кодом процессов отображаются как файлы, а это значит, что над ними можно проводить операции в . Еще утилита позволяет осуществлять выборочное копирование файлов с диска. Например, переместить фрагмент файла определенного размера или пропустить несколько гигабайт. Эта функция также помогает считать файлы с поврежденного носителя, изменить расположение байтов в файле, создавать файлы фиксированного размера. Кроме этого в можно создать дополнительную копию загрузочного сектора жесткого диска или прочитать блоки из системных файлов.
Что такое Матт?
Mutt – это текстовый почтовый клиент с открытым исходным кодом, используемый для передачи / получения электронной почты между хостами при использовании протокола SMTP. Чтобы установить Mutt, вам нужно выполнить несколько команд, после чего вы сможете легко настроить свой почтовый ящик Gmail.
Особенности Матта, заслуживающие внимания
Прежде чем погрузиться в подробности, вы хотели бы узнать, что делает Mutt таким особенным для Linux. Вот некоторые особенности, которые убедят вас в истинном характере Матта как обработчика почтовых ящиков:
- Легко установить и настроить.
- Вы можете отправлять электронные письма с одним или несколькими вложениями прямо из командной строки.
- Mutt позволяет отправлять письма получателям в разделах CC и BCC .
- Он полностью поддерживает цепочку сообщений.
- Воспользуйтесь отличной функцией списков рассылки.
- Вы получаете поддержку различных форматов почтовых ящиков, таких как mbox, maildir, MMDF и MH.
- Он доступен как минимум на 20 языках.
- Mutt поддерживает функцию уведомления о состоянии доставки (DSN).
Как установить Mutt в Linux
Поскольку Mutt не является стандартным пакетом Linux, вы не найдете его предустановленным в вашей системе. Вам придется вручную установить пакет с помощью диспетчера пакетов.
В Ubuntu и Debian:
Вы можете установить Mutt на RHEL / CentOS с помощью YUM:
Чтобы установить пакет в Fedora:
В дистрибутивах на основе Arch вы можете установить пакет с помощью Pacman :