Стандартное решение - использовать параметр header_checks. Однако это будет работать, если мы будем фильтровать полученные строки по всей почте как входящие, так и исходящие (как это будет делать), мы могли бы потерять полученные заголовки по почте, отправленной нам, что может быть важно для устранения неполадок. Чтобы обойти эту проблему, мы применим header_checks только к почте, которая не могла быть отправлена нам-почте, отправленной в порт представления (вы используете порт представления, не так ли?).
header_checks объясняет, как применять header_checks исключительно к порту представления. Нам нужно передать параметр cleanup_service_name в службу для , чтобы мы могли настроить новую службу очистки «subcleanup». Соответствующий раздел /etc/postfix/master.cf может выглядеть следующим образом:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-o cleanup_service_name=subcleanup
Теперь мы можем передать параметр header_checks в новую службу очистки. Эта часть /etc/postfix/master.cf может выглядеть так:
cleanup unix n - - - 0 cleanup
subcleanup unix n - - - 0 cleanup
-o header_checks=regexp:/etc/postfix/submission_header_checks
Наконец, нам нужно создать файл /etc/postfix/submission_header_checks, который будет содержать регулярное выражение, которое фильтрует нарушения.
Если smtpd_sasl_authenticated_header - yes, то используйте:
/^Received:.*\(Authenticated sender:/ IGNORE
В противном случае используйте:
/^Received:.*\(Postfix/ IGNORE
(Спасибо Dominic P и Bryan Drewery за то, что вы показали, как обрабатывать второй случай.)
Самый простой способ получить эту работу - переключение с GDM3 на LightDM.
Который, кстати, абсолютно не понижает / откатывается.
ubuntu 18.04 подключитесь к экрану входа в систему через VNC
У меня была такая же проблема, и после некоторого разговора с x11vnc и gdm я решил просто переключиться обратно на lightdm:
apt install lightdm
Это должно вызвать конфигурацию диспетчера дисплеев. Если не запустить:
dpkg-reconfigure lightdm
Теперь я запускаю свой сервер x11vnc через супервизор со следующей конфигурацией:
$ cat /etc/supervisor/conf.d/x11vnc.conf
[program:x11vnc]
command=/usr/bin/x11vnc -xkb -safer -nopw -once -geometry 1024x768 -auth /var/run/lightdm/root/\:0 -display :0
user=root
autorestart=true
Кроме того, я запускаю noVNC (также через супервизора) сверху поэтому я могу удаленно обращаться к своему рабочему столу через браузер. На всякий случай вам интересно, файлы конфигурации выглядят следующим образом:
$ cat /etc/supervisor/conf.d/novnc.conf
[program:noVNC]
command=/opt/noVNC/utils/launch.sh --vnc localhost:5900
user=root
$ cat /etc/nginx/sites-enabled/novnc
upstream vnc_proxy {
server 127.0.0.1:6080;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
include snippets/snakeoil.conf;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
auth_pam "Secure Zone";
auth_pam_service_name "nginx";
proxy_pass http://vnc_proxy/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
keepalive_requests 10000;
proxy_read_timeout 61s;
proxy_buffering off;
}
}
Возможно, вы захотите обернуть вокруг него дополнительную защиту.
Ubuntu 18.04 x11vnc users.
Вот «хакерский ответ», который позволяет вам получить доступ к VNC без входа в систему.
Я говорю, что он взломан, поскольку он включает в себя наличие 2 x11vnc сервисы.
Во-первых, разрешить вход через DISPLAY=:0, а второй - использовать VNC для доступа к рабочему столу через DISPLAY=:1
. Для этого я использовал следующие 2 скрипта daemon:
Первое: x11vnc-login.service только для приветствия входа
[Unit]
Description=Start x11vnc-login at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/usr/120/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /home/<ID>/.vnc/password -rfbport 5922 -shared -display :0
[Install]
WantedBy=multi-user.target
Второе: x11vnc.service for desktop:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/usr/1000/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /home/<ID>/.vnc/password -rfbport 5920 -shared -display :0
[Install]
WantedBy=multi-user.target
Это ужасный взлом, но он запускается пока пока не будет найдено правильное решение.
В я сначала открываю сеанс VNC на порт 5922 и делаю логин. После входа в систему вы получите черный экран. Поэтому вы открываете сеанс VNC на порту 5920 и вуаля, есть ваш рабочий стол. Мне все же легче, чем идти туда, где работает серверная машина ...
Очевидно, что необходимо иметь некоторый скрипт, который выполняет предварительный поиск запущенных процессов, чтобы узнать, вошел ли пользователь в систему и если это так, просто используйте информацию XAUTHORITY / DISPLAY из существующей пользовательской секции (как извлечено из / proc / PROCID / environ, в противном случае подключите сокет до экрана приветствия с помощью приветствия XAUTHORITY / DISPLAY, а затем каким-то образом переместите соединение сокета на другой сеанс x11vnc, используя пользовательские значения XAUTHOURITY / DISPLAY для рабочего стола.
Я подозреваю немного сложного программирования с файловыми файлами fork / socket / file.
Другая возможность - выяснить, есть ли способ получить отображение 18.04 менеджер должен вести себя согласно предыдущему 16.04.
Самый простой способ получить эту работу - переключение с GDM3 на LightDM.
Который, кстати, абсолютно не понижает / откатывается.
ubuntu 18.04 подключитесь к экрану входа в систему через VNC
У меня была такая же проблема, и после некоторого разговора с x11vnc и gdm я решил просто переключиться обратно на lightdm:
apt install lightdm
Это должно вызвать конфигурацию диспетчера дисплеев. Если не запустить:
dpkg-reconfigure lightdm
Теперь я запускаю свой сервер x11vnc через супервизор со следующей конфигурацией:
$ cat /etc/supervisor/conf.d/x11vnc.conf
[program:x11vnc]
command=/usr/bin/x11vnc -xkb -safer -nopw -once -geometry 1024x768 -auth /var/run/lightdm/root/\:0 -display :0
user=root
autorestart=true
Кроме того, я запускаю noVNC (также через супервизора) сверху поэтому я могу удаленно обращаться к своему рабочему столу через браузер. На всякий случай вам интересно, файлы конфигурации выглядят следующим образом:
$ cat /etc/supervisor/conf.d/novnc.conf
[program:noVNC]
command=/opt/noVNC/utils/launch.sh --vnc localhost:5900
user=root
$ cat /etc/nginx/sites-enabled/novnc
upstream vnc_proxy {
server 127.0.0.1:6080;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
include snippets/snakeoil.conf;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
auth_pam "Secure Zone";
auth_pam_service_name "nginx";
proxy_pass http://vnc_proxy/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
keepalive_requests 10000;
proxy_read_timeout 61s;
proxy_buffering off;
}
}
Возможно, вы захотите обернуть вокруг него дополнительную защиту.
Ubuntu 18.04 x11vnc users.
Вот «хакерский ответ», который позволяет вам получить доступ к VNC без входа в систему.
Я говорю, что он взломан, поскольку он включает в себя наличие 2 x11vnc сервисы.
Во-первых, разрешить вход через DISPLAY=:0, а второй - использовать VNC для доступа к рабочему столу через DISPLAY=:1
. Для этого я использовал следующие 2 скрипта daemon:
Первое: x11vnc-login.service только для приветствия входа
[Unit]
Description=Start x11vnc-login at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/usr/120/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /home/<ID>/.vnc/password -rfbport 5922 -shared -display :0
[Install]
WantedBy=multi-user.target
Второе: x11vnc.service for desktop:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/usr/1000/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /home/<ID>/.vnc/password -rfbport 5920 -shared -display :0
[Install]
WantedBy=multi-user.target
Это ужасный взлом, но он запускается пока пока не будет найдено правильное решение.
В я сначала открываю сеанс VNC на порт 5922 и делаю логин. После входа в систему вы получите черный экран. Поэтому вы открываете сеанс VNC на порту 5920 и вуаля, есть ваш рабочий стол. Мне все же легче, чем идти туда, где работает серверная машина ...
Очевидно, что необходимо иметь некоторый скрипт, который выполняет предварительный поиск запущенных процессов, чтобы узнать, вошел ли пользователь в систему и если это так, просто используйте информацию XAUTHORITY / DISPLAY из существующей пользовательской секции (как извлечено из / proc / PROCID / environ, в противном случае подключите сокет до экрана приветствия с помощью приветствия XAUTHORITY / DISPLAY, а затем каким-то образом переместите соединение сокета на другой сеанс x11vnc, используя пользовательские значения XAUTHOURITY / DISPLAY для рабочего стола.
Я подозреваю немного сложного программирования с файловыми файлами fork / socket / file.
Другая возможность - выяснить, есть ли способ получить отображение 18.04 менеджер должен вести себя согласно предыдущему 16.04.