Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 
 

154 wiersze
6.1 KiB

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