Controlling Exim SMTP behaviour from Dovecot password data
Wednesday, 09. 3. 2014 – Category: stash
Given this Dovecot PasswdFile with a homegrown smtp
ExtraField:
$ head -1 /data/example.org/etc/passwd
foo@example.org:{MD5-CRYPT}$1$HASH-U-LIKE::::::updated=1409712878 smtp=no
Then this Exim ACL snippet forbids the user from sending mail. Dovecot will allow them to login (allowing them receive the mail asking them to change their password) and so will ancillary systems that authenticate with the same data (eg: the password changing facility):
deny authenticated = *
message = User must change password before sending any new mail. See https://example.org/notices
set acl_c_auth_sender_address = $authenticated_id
set acl_c_auth_sender_domain = ${extract{-1}{@}{$acl_c_auth_sender_address}}
set acl_c_user_passwd_entry = ${lookup{${acl_c_auth_sender_address}}lsearch{/data/${acl_c_auth_sender_domain}/etc/passwd}}
set acl_c_user_passwd_fields = ${extract{-1}{:}{$acl_c_user_passwd_entry}}
set acl_c_user_smtp_field = ${extract{smtp}{$acl_c_user_passwd_fields}}
condition = ${if eq{$acl_c_user_smtp_field}{no}}
- The use of ACL variables is a bit gratuitous but allows the massive expansion to be built up piece by piece.
- We check the
authenticated_id
not thesender_from
since we permit senders to set their ownFrom
address, but they still need to authenticate with their real account.
Recent articles
- Docker, SELinux, Consul, Registrator
(Wednesday, 04. 29. 2015 – No Comments) - ZFS performance on FreeBSD
(Tuesday, 09. 16. 2014 – No Comments) - Controlling Exim SMTP behaviour from Dovecot password data
(Wednesday, 09. 3. 2014 – No Comments) - Heartbleed OpenSSL vulnerability
(Tuesday, 04. 8. 2014 – No Comments)
Archives
- April 2015
- September 2014
- April 2014
- September 2013
- August 2013
- March 2013
- April 2012
- March 2012
- September 2011
- June 2011
- February 2011
- January 2011
- October 2010
- September 2010
- February 2010
- September 2009
- August 2009
- January 2009
- September 2008
- August 2008
- July 2008
- May 2008
- April 2008
- February 2008
- January 2008
- November 2007
- October 2007
- September 2007
- August 2007
- December 2006
- November 2006
- August 2006
- June 2006
- May 2006
- March 2006
- February 2006
- January 2006
- December 2005
- November 2005
- October 2005