Commit 293568d1ef698a03088a1faffc8d5e9ffa4ed0e3
1 parent
484e6c1f
Exists in
master
and in
28 other branches
ActionItem44: adjusting
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1985 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
3 changed files
with
55 additions
and
12 deletions
Show diff stats
util/mail/postgresql/README
| @@ -65,6 +65,7 @@ authmodulelist="authpgsql" | @@ -65,6 +65,7 @@ authmodulelist="authpgsql" | ||
| 65 | 65 | ||
| 66 | Then find the authpgsqlrc file and set the indicated settings as follows: | 66 | Then find the authpgsqlrc file and set the indicated settings as follows: |
| 67 | 67 | ||
| 68 | +--------------------8<--------------------------8<--------------------- | ||
| 68 | PGSQL_HOST 127.0.0.1 | 69 | PGSQL_HOST 127.0.0.1 |
| 69 | PGSQL_USERNAME **DBUSER** | 70 | PGSQL_USERNAME **DBUSER** |
| 70 | PGSQL_PASSWORD **DBPASSWORD** | 71 | PGSQL_PASSWORD **DBPASSWORD** |
| @@ -77,6 +78,7 @@ PGSQL_LOGIN_FIELD username | @@ -77,6 +78,7 @@ PGSQL_LOGIN_FIELD username | ||
| 77 | PGSQL_HOME_FIELD home | 78 | PGSQL_HOME_FIELD home |
| 78 | PGSQL_NAME_FIELD fullname | 79 | PGSQL_NAME_FIELD fullname |
| 79 | PGSQL_MAILDIR_FIELD maildir | 80 | PGSQL_MAILDIR_FIELD maildir |
| 81 | +--------------------8<--------------------------8<--------------------- | ||
| 80 | 82 | ||
| 81 | Configure Postfix do deliver the mail in the right place | 83 | Configure Postfix do deliver the mail in the right place |
| 82 | -------------------------------------------------------- | 84 | -------------------------------------------------------- |
| @@ -86,20 +88,49 @@ files virtual_domains.cf and virtual_mailboxes.cf there. | @@ -86,20 +88,49 @@ files virtual_domains.cf and virtual_mailboxes.cf there. | ||
| 86 | 88 | ||
| 87 | Then in main Postfix configuration file, add the following lines to the end of the file: | 89 | Then in main Postfix configuration file, add the following lines to the end of the file: |
| 88 | 90 | ||
| 91 | +--------------------8<--------------------------8<--------------------- | ||
| 89 | virtual_mailbox_domains = proxy:pgsql:/etc/postfix/postgres/virtual_domains.cf | 92 | virtual_mailbox_domains = proxy:pgsql:/etc/postfix/postgres/virtual_domains.cf |
| 90 | virtual_mailbox_maps = proxy:pgsql:/etc/postfix/postgres/virtual_mailboxes.cf | 93 | virtual_mailbox_maps = proxy:pgsql:/etc/postfix/postgres/virtual_mailboxes.cf |
| 91 | virtual_mailbox_base = /home/vmail | 94 | virtual_mailbox_base = /home/vmail |
| 92 | virtual_uid_maps = static:5000 | 95 | virtual_uid_maps = static:5000 |
| 93 | virtual_gid_maps = static:5000 | 96 | virtual_gid_maps = static:5000 |
| 94 | -smtp_sasl_auth_enable = yes | 97 | + |
| 98 | +smtpd_sasl_auth_enable = yes | ||
| 95 | broken_sasl_auth_clients = yes | 99 | broken_sasl_auth_clients = yes |
| 100 | + | ||
| 101 | +smtpd_require_helo = yes | ||
| 102 | + | ||
| 103 | +smptd_client_restrictions = | ||
| 104 | + permit_mynetworks, | ||
| 105 | + permit_sasl_authenticated, | ||
| 106 | + reject_rbl_client list.dsbl.org, | ||
| 107 | + reject_rbl_client bl.spamcop.net | ||
| 108 | + | ||
| 96 | smtpd_recipient_restrictions = | 109 | smtpd_recipient_restrictions = |
| 97 | permit_mynetworks, | 110 | permit_mynetworks, |
| 98 | permit_sasl_authenticated, | 111 | permit_sasl_authenticated, |
| 99 | - reject_unauth_destination | 112 | + reject_unauth_pipelining, |
| 113 | + reject_unknown_recipient_domain, | ||
| 114 | + reject_non_fqdn_hostname, | ||
| 115 | + reject_invalid_hostname, | ||
| 116 | + reject_non_fqdn_recipient, | ||
| 117 | + reject_unauth_destination, | ||
| 118 | + | ||
| 119 | +smptd_sender_restrictions = | ||
| 120 | + reject_non_fqdn_sender | ||
| 121 | + reject_unknown_sender_domain | ||
| 122 | + reject_sender_login_mismatch | ||
| 123 | + | ||
| 124 | + | ||
| 125 | +# TODO SSL/TLS | ||
| 100 | virtual_create_maildirsize = yes | 126 | virtual_create_maildirsize = yes |
| 101 | virtual_mailbox_extended = yes | 127 | virtual_mailbox_extended = yes |
| 102 | -proxy_read_maps = $virtual_mailbox_domains $virtual_mailbox_maps | 128 | +# TODO limits (quota) |
| 129 | + | ||
| 130 | +proxy_read_maps = $virtual_mailbox_domains $virtual_mailbox_maps proxy:unix:passwd.byname | ||
| 131 | +--------------------8<--------------------------8<--------------------- | ||
| 132 | + | ||
| 133 | + | ||
| 103 | 134 | ||
| 104 | Configuring PAM-PostgreSQL for Postfix (SMTP) authentication through SASL | 135 | Configuring PAM-PostgreSQL for Postfix (SMTP) authentication through SASL |
| 105 | ------------------------------------------------------------------------- | 136 | ------------------------------------------------------------------------- |
| @@ -111,5 +142,14 @@ Then edit /etc/default/saslauthd and change the line that defines "MECHANISMS" t | @@ -111,5 +142,14 @@ Then edit /etc/default/saslauthd and change the line that defines "MECHANISMS" t | ||
| 111 | 142 | ||
| 112 | MECHANISMS="pam" | 143 | MECHANISMS="pam" |
| 113 | 144 | ||
| 114 | -Also modify the options as explained in the comment just above it. (see /usr/share/doc/sasl2-bin/README.Debian) for the proper setup for postfix. | 145 | +Also modify the options as explained in the comment just above it. (see |
| 146 | +/usr/share/doc/sasl2-bin/README.Debian) for the proper setup for postfix. In a | ||
| 147 | +nutshell, the line with OPTIONS must read like the following | ||
| 148 | + | ||
| 149 | +OPTIONS="-r -c -m /var/spool/postfix/var/run/saslauthd" | ||
| 150 | + | ||
| 151 | +and you must set /var/spool/postfix/var/run/saslauthd with | ||
| 152 | + | ||
| 115 | 153 | ||
| 154 | + dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd | ||
| 155 | + adduser postfix sasl |
util/mail/postgresql/mail_users.sql
| @@ -11,7 +11,8 @@ SELECT | @@ -11,7 +11,8 @@ SELECT | ||
| 11 | users.login as maildir, | 11 | users.login as maildir, |
| 12 | NULL as quota, | 12 | NULL as quota, |
| 13 | profiles.name as fullname, | 13 | profiles.name as fullname, |
| 14 | - '' as options | 14 | + '' as options, |
| 15 | + users.crypted_password as pam_passwd | ||
| 15 | from users | 16 | from users |
| 16 | JOIN profiles on | 17 | JOIN profiles on |
| 17 | (profiles.user_id = users.id and | 18 | (profiles.user_id = users.id and |
| @@ -20,5 +21,8 @@ JOIN environments on | @@ -20,5 +21,8 @@ JOIN environments on | ||
| 20 | (environments.id = profiles.environment_id) | 21 | (environments.id = profiles.environment_id) |
| 21 | JOIN domains on | 22 | JOIN domains on |
| 22 | (domains.owner_id = environments.id and | 23 | (domains.owner_id = environments.id and |
| 23 | - domains.owner_type = 'Environment'); | 24 | + domains.owner_type = 'Environment') |
| 25 | +WHERE | ||
| 26 | + users.password_type = 'md5' | ||
| 27 | + AND users.email_enabled; | ||
| 24 | 28 |
util/mail/postgresql/pam_pgsql.conf
| 1 | -database = terceiro | 1 | +database = noosfero_development |
| 2 | host = localhost | 2 | host = localhost |
| 3 | user = pam | 3 | user = pam |
| 4 | password = pam | 4 | password = pam |
| 5 | -table = users | ||
| 6 | -user_column = name | ||
| 7 | -pwd_column = passwd | ||
| 8 | -expired_column = expired | ||
| 9 | -newtok_column = must_change_passwd | 5 | +table = mail_users |
| 6 | +user_column = username | ||
| 7 | +pwd_column = pam_passwd | ||
| 10 | pw_type = md5 | 8 | pw_type = md5 |
| 9 | +debug |