Yes I had thought of that idea too ... but I have a preference for
   creating the home then adding in a link to the required location.
   It creates the opportunity for creating an 'actual' home in the future if
   required.
   Le ven. 2 janv. 2026 `a 22:12, Chris Twinn <[1][email protected]> a
   ecrit :

     Would that not be akin to a nologin shell?

     Set the user home to /var/postfix/virtual/[2]example.net/usename on
     creation.

     useradd -d  /var/postfix/virtual/[3]example.net/username -s
     /sbin/nologin username

     Personally I prefer /home/[4]example.net/username but.

     Bypassing creating a link from /home/username to the /var....

     User can then be verfied by the system for mails but can't actually
     access the system. Dovecot/postfix reads the home dir and delivers mail
     where required.

     Again I'm sure there are
     other more experienced admins.....

     On 2 January 2026 19:35:39 GMT, David Myers via dovecot
     <[5][email protected]> wrote:

 I was wondering if this was a good use case for the creation of a user
 without a dedicated home directory.

 The user will not be able to 'log in' in the traditional way, but they
 would have an entry in /etc/passwd. Then you would only need to create a
 link from /home/user into your selected location (in your instance
 /var/postfix/virtual/[6]example.net/[user <[7]http://example.net/user>Name] ).

 please note : this isn't something that I have done, but I'm sure there are
 other more experienced admins on this list that will pipe up if this is not
 a good solution, and explain why its not, and propose alternatives.

 Le mer. 31 dec. 2025 `a 09:55, animerrill--- via dovecot 
<[8][email protected]>
 a ecrit :

  I simply define my virtual domains in Postfix:

   --------------------------------------------------------------------------

  VIRTUAL DOMAINS

   --------------------------------------------------------------------------

  virtual_alias_domains = new.domain
  virtual_alias_maps = hash:/etc/postfix/virtual
  Then, in /etc/postfix/virtual, I add the alias:
  [email protected]   newuser
  And that's it.
  Could you share your doveconf -n?

  That set up is different than what I am trying to achieve. You have a
  virtual alias set up, which redirects mail from an email address to an
  arbitrary linux user. I am trying to avoid creating linux users for every
  email account, which is why I need to be able to use dovecot's multiple
  authentication database feature to facilitate virtual mailboxes. Here is
  that section from my /etc/postfix/[9]main.cf:

  ```
  virtual_mailbox_domains = [10]example.net
  virtual_uid_maps = static:1001
  virtual_gid_maps = static:1001
  virtual_mailbox_base = /var/postfix/virtual
  virtual_mailbox_maps = hash:/etc/postfix/virtual/recipients
  virtual_alias_maps = hash:/etc/postfix/virtual/aliases
  virtual_alias_domains = hash:/etc/postfix/virtual/domains
  ```

  Then the mailbox is defined in /etc/postfix/virtual/recipients:

  ```
  [11][email protected]    [12]example.net/user
  ```

  Which means that rather than being set up as a linux user with a /home
  directory, [13][email protected] should have a virtual mailbox in
  /var/postfix/virtual/[14]example.net/user. This actually works as far as
  postfix is concerned, and as the root user I can peek in that folder to see
  a message sent to it from my personal email account. Then here is `doveconf
  -n`:

  ```
  # 2.4.1-4 (7d8c0e5759): /etc/dovecot/dovecot.conf
  # Pigeonhole version 2.4.1-4 (0a86619f)
  # OS: Linux 6.12.57+deb13-amd64 x86_64 Debian 13.2
  # Hostname: [15]example.com
  dovecot_config_version = 2.4.1
  auth_mechanisms = plain login
  auth_username_format = %{user}
  dovecot_storage_version = 2.4.1
  mail_driver = sdbox
  mail_inbox_path = ~/Mail/Inbox
  mail_path = ~/Mail
  protocols = imap
  ssl = required
  ssl_server {
    cert_file = /etc/letsencrypt/live/[16]mail.example.com/fullchain.pem
    dh_file = /usr/share/dovecot/dh.pem
    key_file = /etc/letsencrypt/live/[17]mail.example.com/privkey.pem
    prefer_ciphers = server
  }
  userdb passwd-file {
    passwd_file_path = /etc/dovecot/passwd/%{user | domain}
  }
  userdb passwd {
  }
  passdb passwd-file {
    passwd_file_path = /etc/dovecot/passwd/%{user | domain}
  }
  passdb pam {
  }
  namespace inbox {
    inbox = yes
    mailbox Drafts {
      auto = subscribe
      special_use = "\\Drafts"
    }
    mailbox Junk {
      auto = subscribe
      autoexpunge = 30d
      special_use = "\\Junk"
    }
    mailbox Sent {
      auto = subscribe
      special_use = "\\Sent"
    }
    mailbox Trash {
      special_use = "\\Trash"
    }
    mailbox Archive {
      special_use = "\\Archive"
    }
  }
  service auth {
    unix_listener /var/spool/postfix/private/auth {
      group = postfix
      mode = 0660
      user = postfix
    }
  }
  protocol lda {
    mail_plugins = sieve
  }
  protocol lmtp {
    mail_plugins = sieve
  }
  protocol pop3 {
    pop3_no_flag_updates = yes
    pop3_uidl_format = UID%{uid}-%{uidvalidity}
  }
  sieve_script default {
  }
  ```

  Basically the problem is that this virtual mailbox user has a mailbox that
  receives mail, but the user cannot log onto their account with an email
  client. My guess is that I either have misconfigured the `userdb` and/or
  `passdb` entries in the dovecot.conf file, or the passwd-file at
  /etc/dovecot/passwd/[18]example.net I created is not formatted correctly,
  because the ultimate problem is that the system cannot authenticate the
  user when they attempt to connect via imap/smtp. From all of the
  documentation and help threads referenced in my first message, I cannot
  tell what I've done wrong and I'm at a total loss.

  Thanks for the prompt reply. This is my first time using one of these mail
  lists, so I did not see you responded right away.

   --------------------------------------------------------------------------

  dovecot mailing list -- [19][email protected]
  To unsubscribe send an email to [20][email protected]

References

   Visible links
   1. mailto:[email protected]
   2. http://example.net/usename
   3. http://example.net/username
   4. http://example.net/username
   5. mailto:[email protected]
   6. http://example.net/%5Buser
   7. http://example.net/user
   8. mailto:[email protected]
   9. http://main.cf/
  10. http://example.net/
  11. mailto:[email protected]
  12. http://example.net/user
  13. mailto:[email protected]
  14. http://example.net/user
  15. http://example.com/
  16. http://mail.example.com/fullchain.pem
  17. http://mail.example.com/privkey.pem
  18. http://example.net/
  19. mailto:[email protected]
  20. mailto:[email protected]
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to