Ubuntu

在沒有真正 Linux 使用者的情況下設置郵件帳戶

  • April 7, 2020

我已經在我的 Ubuntu 伺服器上設置了 Postfix 和 Dovecot。我的目標是創建 27 個可以接收和發送郵件到任何地方的郵件帳戶。我的電子郵件不會在 Gmail、Yahoo 和 Outlook 中顯示為垃圾郵件。我用 Rainloop 發送電子郵件,一切都很好。除了;

系統不應該有這麼多使用者。在我寫這篇文章的時候,除了我的個人 sudo 使用者和 root 使用者之外,我在這個系統上有 6 個使用者。我通過為人們創建 Linux 使用者並為他們提供憑據來授予他們接收和發送電子郵件的權限。

我無法想像像雅虎這樣的大型電子郵件服務擁有超過一千萬的系統使用者,必須有一個解決方案讓我將 Postfix/Dovecot 連接到一個儲存所有電子郵件使用者的數據庫(可能是 MySQL?),而不是創建這麼多 Linux使用者。

所以基本上,我將如何設置我在最後一段中寫的內容而不失去現有數據?我在伺服器上收到的電子郵件不多,但失去數據是不好的做法,防止它總是很好。

謝謝!

誠實的建議,使用普通使用者帳戶並讓您的 Linux 系統對使用者進行身份驗證。這易於管理且非常安全。我不想說其他系統不安全,但在儲存和驗證密碼方面我相信我的 Linux 系統。我使用這些命令手動創建使用者。這樣他們就不會對我的系統造成傷害。

useradd -d /home/username -g 515 -u 603 -s /sbin/nologin username
echo 12345678 | passwd user --stdin

-g 515 is your groupid for mail users
-u 603 needs to be incremeted by one for each user you create

這會刪除使用者

userdel -f username

然後附加到文件 /etc/postfix/virtual 您的使用者為

username@example.com    username

這是我在 master.cf 中使用的部分

submission inet n       -       n       -       -       smtpd
 -o smtpd_helo_required=no
 -o smtpd_tls_wrappermode=no
 -o smtpd_tls_security_level=encrypt
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject
 -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,permit_sasl_authenticated,reject
 -o milter_macro_daemon_name=ORIGINATING
 -o smtpd_sasl_type=dovecot
 -o smtpd_sasl_path=private/auth
 -o smtpd_sasl_security_options=noanonymous

添加或刪除使用者後執行以下命令

postmap /etc/postfix/virtual
service postfix restart

(最後一個命令在非 RHEL 複製上可能不同,例如 Ubuntu。不確定,不要使用它。)。並在您的 /etc/postfix/main.cf 中有以下設置

virtual_alias_maps = hash:/etc/postfix/virtual

不要忘記在 dovecot 中增加 mail_max_userip_connections 變數,請參閱Dovecot ignoring maximum number of IMAP connections

引用自:https://serverfault.com/questions/785512