В качестве почтового сервера я использую iredmail
. У меня есть почтовый сервер со следующими настройками:
# /etc/hostname
mail
# /etc/hosts
127.0.1.1 mail.mydomain.com mail
127.0.0.1 localhost
, поэтому полное доменное имя - mail.mydomain.com
.
Здесь я нашел примеры, которые использовал, но с этими примерами мой сервер мог отправлять электронные письма , но не смог получить:
Type Name Value TTL
A @ 195.201.40.1 1 hour # Web server
A mail 195.201.40.2 1 hour # Mail server
MX @ mail.mydomain.com (Priority: 10) 1 hour
TXT @ v=spf1 ip4:195.201.40.2 -all 1 hour
TXT @ v=DMARC1; p=reject; sp=reject;... 1 hour
TXT _adsp._domainkey dkim=all
TXT dkim._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSq...
Затем я изменил:
MX @ mail.mydomain.com (Priority: 10) 1 hour
на
MX mail mail.mydomain.com (Priority: 10) 1 hour
, и почтовый сервер начал получать электронные письма.
У меня два блока вопросов:
1) Как я понимаю, внешние почтовые службы (например, gmail) отправлять письма на mydomain.com
, а не на mail.mydomain.com
, потому что мой адрес электронной почты выглядит как somename@mydomain.com
и не похоже на somename@mail.mydomain.com
. Почему изменение @
на mail
решило проблему получения писем?
Я понимаю запись MX @ mail.mydomain.com
как: «внешняя почтовая служба, если вы отправляете электронное письмо на адрес somename@mydomain.com
Это то, что я изучал некоторое время назад и нашел кое-какую полезную информацию ... но теперь, когда мне действительно нужно это сделать, я, конечно, не могу найти то руководство, которое видел.
В любом случае, вот ситуация. У меня есть программа, которая запускается с использованием меню ncurses через SSH. Я хочу, чтобы пользователи могли входить в эту программу через SSH, но только в эту программу.
Что мне нужно сделать, чтобы этот сценарий был возможен?
] Моя цель - запретить им вообще видеть командную строку и ограничиться только этой программой. Это возможно? Как мне это сделать?
Это также называется зависимым входом .
Добавить в ~ /.профилировать выполнение программы и выход.
exec /usr/local/bin/program
exit
Умные пользователи знают, что они могут предоставить в своем ssh-клиенте команду, отличную от ожидаемой. Предотвратите это с помощью ForceCommand в вашей конфигурации sshd:
ForceCommand
Принудительное выполнение команды, указанной ForceCommand, игнорирование любой команды, предоставленной клиентом и ~ / .ssh / rc, если он есть. Команда вызывается с помощью оболочки входа пользователя с параметром -c вариант. Это относится к выполнению оболочки, команды или подсистемы. это наиболее полезен внутри блока Match.
Match Group programusers
ForceCommand /usr/local/bin/program