Advertisement
Guest User

skuld

a guest
Oct 20th, 2009
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.51 KB | None | 0 0
  1. # This file is opened as root, so it should be owned by root and mode 0600.
  2. #
  3. # http://wiki.dovecot.org/AuthDatabase/SQL
  4. #
  5. # For the sql passdb module, you'll need a database with a table that
  6. # contains fields for at least the username and password. If you want to
  7. # use the user@domain syntax, you might want to have a separate domain
  8. # field as well.
  9. #
  10. # If your users all have the same uig/gid, and have predictable home
  11. # directories, you can use the static userdb module to generate the home
  12. # dir based on the username and domain. In this case, you won't need fields
  13. # for home, uid, or gid in the database.
  14. #
  15. # If you prefer to use the sql userdb module, you'll want to add fields
  16. # for home, uid, and gid. Here is an example table:
  17. #
  18. # CREATE TABLE users (
  19. # username VARCHAR(128) NOT NULL,
  20. # domain VARCHAR(128) NOT NULL,
  21. # password VARCHAR(64) NOT NULL,
  22. # home VARCHAR(255) NOT NULL,
  23. # uid INTEGER NOT NULL,
  24. # gid INTEGER NOT NULL,
  25. # active CHAR(1) DEFAULT 'Y' NOT NULL
  26. # );
  27.  
  28. # Database driver: mysql, pgsql, sqlite
  29. #driver =
  30.  
  31. # Database connection string. This is driver-specific setting.
  32. #
  33. # pgsql:
  34. # For available options, see the PostgreSQL documention for the
  35. # PQconnectdb function of libpq.
  36. #
  37. # mysql:
  38. # Basic options emulate PostgreSQL option names:
  39. # host, port, user, password, dbname
  40. #
  41. # But also adds some new settings:
  42. # client_flags - See MySQL manual
  43. # ssl_ca, ssl_ca_path - Set either one or both to enable SSL
  44. # ssl_cert, ssl_key - For sending client-side certificates to server
  45. # ssl_cipher - Set minimum allowed cipher security (default: HIGH)
  46. # option_file - Read options from the given file instead of
  47. # the default my.cnf location
  48. # option_group - Read options from the given group (default: client)
  49. #
  50. # You can connect to UNIX sockets by using host: host=/var/run/mysqld/mysqld.sock
  51. # Note that currently you can't use spaces in parameters.
  52. #
  53. # MySQL supports multiple host parameters for load balancing / HA.
  54. #
  55. # sqlite:
  56. # The path to the database file.
  57. #
  58. # Examples:
  59. # connect = host=192.168.1.1 dbname=users
  60. # connect = host=sql.example.com dbname=virtual user=virtual password=blarg
  61. # connect = /etc/dovecot/authdb.sqlite
  62. #
  63. #connect =
  64.  
  65. # Default password scheme.
  66. #
  67. # List of supported schemes is in
  68. # http://wiki.dovecot.org/Authentication/PasswordSchemes
  69. #
  70. #default_pass_scheme = PLAIN-MD5
  71.  
  72. # passdb query to retrieve the password. It can return fields:
  73. # password - The user's password. This field must be returned.
  74. # user - user@domain from the database. Needed with case-insensitive lookups.
  75. # username and domain - An alternative way to represent the "user" field.
  76. #
  77. # The "user" field is often necessary with case-insensitive lookups to avoid
  78. # e.g. "name" and "nAme" logins creating two different mail directories. If
  79. # your user and domain names are in separate fields, you can return "username"
  80. # and "domain" fields instead of "user".
  81. #
  82. # The query can also return other fields which have a special meaning, see
  83. # http://wiki.dovecot.org/PasswordDatabase/ExtraFields
  84. #
  85. # Commonly used available substitutions (see http://wiki.dovecot.org/Variables
  86. # for full list):
  87. # %u = entire user@domain
  88. # %n = user part of user@domain
  89. # %d = domain part of user@domain
  90. #
  91. # Note that these can be used only as input to SQL query. If the query outputs
  92. # any of these substitutions, they're not touched. Otherwise it would be
  93. # difficult to have eg. usernames containing '%' characters.
  94. #
  95. # Example:
  96. # password_query = SELECT userid AS user, pw AS password \
  97. # FROM users WHERE userid = '%u' AND active = 'Y'
  98. #
  99. #password_query = \
  100. # SELECT username, domain, password \
  101. # FROM users WHERE username = '%n' AND domain = '%d'
  102.  
  103. # userdb query to retrieve the user information. It can return fields:
  104. # uid - System UID (overrides mail_uid setting)
  105. # gid - System GID (overrides mail_gid setting)
  106. # home - Home directory
  107. # mail - Mail location (overrides mail_location setting)
  108. #
  109. # None of these are strictly required. If you use a single UID and GID, and
  110. # home or mail directory fits to a template string, you could use userdb static
  111. # instead. For a list of all fields that can be returned, see
  112. # http://wiki.dovecot.org/UserDatabase/ExtraFields
  113. #
  114. # Examples:
  115. # user_query = SELECT home, uid, gid FROM users WHERE userid = '%u'
  116. # user_query = SELECT dir AS home, user AS uid, group AS gid FROM users where userid = '%u'
  117. # user_query = SELECT home, 501 AS uid, 501 AS gid FROM users WHERE userid = '%u'
  118. #
  119. #user_query = \
  120. # SELECT home, uid, gid \
  121. # FROM users WHERE username = '%n' AND domain = '%d'
  122.  
  123. # If you wish to avoid two SQL lookups (passdb + userdb), you can use
  124. # userdb prefetch instead of userdb sql in dovecot.conf. In that case you'll
  125. # also have to return userdb fields in password_query prefixed with "userdb_"
  126. # string. For example:
  127. #password_query = \
  128. # SELECT userid AS user, password, \
  129. # home AS userdb_home, uid AS userdb_uid, gid AS userdb_gid \
  130. # FROM users WHERE userid = '%u'
  131.  
  132. driver = mysql
  133. connect = host=localhost dbname=postfix user=postfix password=paasword
  134. default_pass_scheme = MD5-CRYPT
  135.  
  136. user_query = SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n' as mail, 150 AS uid, 8 AS gid, concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = 1
  137.  
  138. password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/var/vmail/%d/%n' as userdb_mail, 150 as userdb_uid, 8 as userdb_gid FROM mailbox WHERE username = '%u' AND active = 1
  139.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement