zoukankan      html  css  js  c++  java
  • openldap主服务器配置文件(双主)

    #
    # See slapd.conf(5) for details on configuration options.
    # This file should NOT be world readable.
    #

    include /etc/openldap/schema/corba.schema
    include /etc/openldap/schema/core.schema
    include /etc/openldap/schema/cosine.schema
    include /etc/openldap/schema/duaconf.schema
    include /etc/openldap/schema/dyngroup.schema
    include /etc/openldap/schema/inetorgperson.schema
    include /etc/openldap/schema/java.schema
    include /etc/openldap/schema/misc.schema
    include /etc/openldap/schema/nis.schema
    include /etc/openldap/schema/openldap.schema
    include /etc/openldap/schema/ppolicy.schema
    include /etc/openldap/schema/collective.schema

    # Allow LDAPv2 client connections. This is NOT the default.
    allow bind_v2

    # Do not enable referrals until AFTER you have a working directory
    # service AND an understanding of referrals.
    #referral ldap://root.openldap.org

    pidfile /var/run/openldap/slapd.pid
    argsfile /var/run/openldap/slapd.args

    # Load dynamic backend modules
    # - modulepath is architecture dependent value (32/64-bit system)
    # - back_sql.la overlay requires openldap-server-sql package
    # - dyngroup.la and dynlist.la cannot be used at the same time

    modulepath /usr/lib/openldap
    modulepath /usr/lib64/openldap

    # moduleload accesslog.la
    # moduleload auditlog.la
    # moduleload back_sql.la
    # moduleload chain.la
    # moduleload collect.la
    # moduleload constraint.la
    # moduleload dds.la
    # moduleload deref.la
    # moduleload dyngroup.la
    # moduleload dynlist.la
    # moduleload memberof.la
    # moduleload pbind.la
    # moduleload pcache.la
    # moduleload ppolicy.la
    # moduleload refint.la
    # moduleload retcode.la
    # moduleload rwm.la
    # moduleload seqmod.la
    # moduleload smbk5pwd.la
    # moduleload sssvlv.la
    moduleload syncprov.la
    # moduleload translucent.la
    # moduleload unique.la
    # moduleload valsort.la

    # The next three lines allow use of TLS for encrypting connections using a
    # dummy test certificate which you can generate by running
    # /usr/libexec/openldap/generate-server-cert.sh. Your client software may balk
    # at self-signed certificates, however.
    TLSCACertificatePath /etc/openldap/certs
    TLSCertificateFile ""OpenLDAP Server""
    TLSCertificateKeyFile /etc/openldap/certs/password

    # Sample security restrictions
    # Require integrity protection (prevent hijacking)
    # Require 112-bit (3DES or better) encryption for updates
    # Require 63-bit encryption for simple bind
    # security ssf=1 update_ssf=112 simple_bind=64

    # Sample access control policy:
    # Root DSE: allow anyone to read it
    # Subschema (sub)entry DSE: allow anyone to read it
    # Other DSEs:
    # Allow self write access
    # Allow authenticated users read access
    # Allow anonymous users to authenticate
    # Directives needed to implement policy:
    # access to dn.base="" by * read
    # access to dn.base="cn=Subschema" by * read
    # access to *
    # by self write
    # by users read
    # by anonymous auth
    #
    # if no access controls are present, the default policy
    # allows anyone and everyone to read anything but restricts
    # updates to rootdn. (e.g., "access to * by * read")
    #
    # rootdn can always read and write EVERYTHING!

    # enable on-the-fly configuration (cn=config)
    database config
    access to *
    by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
    by * none

    # enable server status monitoring (cn=monitor)
    database monitor
    access to *
    by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
    by dn.exact="cn=Manager,dc=zhangyue,dc=com" read
    by * none

    #######################################################################
    # database definitions
    #######################################################################

    database bdb
    suffix "dc=zhangyue,dc=com"
    checkpoint 1024 15
    rootdn "cn=Manager,dc=zhangyue,dc=com"
    # Cleartext passwords, especially for the rootdn, should
    # be avoided. See slappasswd(8) and slapd.conf(5) for details.
    # Use of strong authentication encouraged.
    # rootpw secret
    # rootpw {crypt}ijFYNcSNctBYg
    rootpw {SSHA}yJoc/L6cqS51sn/MBgWWF4mI4HQW+A83

    # The database directory MUST exist prior to running slapd AND
    # should only be accessible by the slapd and slap tools.
    # Mode 700 recommended.
    directory /var/lib/ldap

    # Indices to maintain for this database
    index objectClass eq,pres
    index ou,cn,mail,surname,givenname eq,pres,sub
    index uidNumber,gidNumber,loginShell eq,pres
    index uid,memberUid eq,pres,sub
    index nisMapName,nisMapEntry eq,pres,sub

    # Replicas of this database
    #replogfile /var/lib/ldap/openldap-master-replog
    #replica host=ldap-1.example.com:389 starttls=critical
    # bindmethod=sasl saslmech=GSSAPI
    # authcId=host/ldap-master.example.com@EXAMPLE.COM


    index entryCSN,entryUUID eq

    serverID 2
    overlay syncprov
    syncrepl rid=001
    provider=ldap://10.252.99.14
    type=refreshAndPersist
    searchbase="dc=zhangyue,dc=com"
    schemachecking=off
    bindmethod=simple
    binddn="cn=Manager,dc=zhangyue,dc=com"
    credentials=123456
    retry="60 +"
    mirrormode on

    self-service-password    配置文件。

    <?php
    #==============================================================================
    # LTB Self Service Password
    #
    # Copyright (C) 2009 Clement OUDOT
    # Copyright (C) 2009 LTB-project.org
    #
    # This program is free software; you can redistribute it and/or
    # modify it under the terms of the GNU General Public License
    # as published by the Free Software Foundation; either version 2
    # of the License, or (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    #
    # GPL License: http://www.gnu.org/licenses/gpl.txt
    #
    #==============================================================================

    #==============================================================================
    # Configuration
    #==============================================================================

    # Debug mode
    # true: log and display any errors or warnings (use this in configuration/testing)
    # false: log only errors and do not display them (use this in production)
    $debug = false;

    # LDAP
    $ldap_url = "ldap://10.100.20.148:389";
    $ldap_starttls = false;
    $ldap_binddn = "cn=Manager,dc=zhangyue,dc=com";
    $ldap_bindpw = "123456";
    $ldap_base = "dc=zhangyue,dc=com";
    $ldap_login_attribute = "uid";
    $ldap_fullname_attribute = "cn";
    $ldap_filter = "(&(objectClass=person)($ldap_login_attribute={login}))";

    # Active Directory mode
    # true: use unicodePwd as password field
    # false: LDAPv3 standard behavior
    $ad_mode = false;
    # Force account unlock when password is changed
    $ad_options['force_unlock'] = false;
    # Force user change password at next login
    $ad_options['force_pwd_change'] = false;
    # Allow user with expired password to change password
    $ad_options['change_expired_password'] = false;

    # Samba mode
    # true: update sambaNTpassword and sambaPwdLastSet attributes too
    # false: just update the password
    $samba_mode = false;
    # Set password min/max age in Samba attributes
    #$samba_options['min_age'] = 5;
    #$samba_options['max_age'] = 45;

    # Shadow options - require shadowAccount objectClass
    # Update shadowLastChange
    $shadow_options['update_shadowLastChange'] = false;
    $shadow_options['update_shadowExpire'] = false;

    # Default to -1, never expire
    $shadow_options['shadow_expire_days'] = -1;

    # Hash mechanism for password:
    # SSHA, SSHA256, SSHA384, SSHA512
    # SHA, SHA256, SHA384, SHA512
    # SMD5
    # MD5
    # CRYPT
    # clear (the default)
    # auto (will check the hash of current password)
    # This option is not used with ad_mode = true
    $hash = "clear";

    # Prefix to use for salt with CRYPT
    $hash_options['crypt_salt_prefix'] = "$6$";
    $hash_options['crypt_salt_length'] = "6";

    # Local password policy
    # This is applied before directory password policy
    # Minimal length
    $pwd_min_length = 8;
    # Maximal length
    $pwd_max_length = 128;
    # Minimal lower characters
    $pwd_min_lower = 1;
    # Minimal upper characters
    $pwd_min_upper = 1;
    # Minimal digit characters
    $pwd_min_digit = 1;
    # Minimal special characters
    $pwd_min_special = 1;
    # Definition of special characters
    $pwd_special_chars = "^a-zA-Z0-9";
    # Forbidden characters
    #$pwd_forbidden_chars = "@%";
    # Don't reuse the same password as currently
    $pwd_no_reuse = true;
    # Check that password is different than login
    $pwd_diff_login = true;
    # Complexity: number of different class of character required
    $pwd_complexity = 0;
    # Show policy constraints message:
    # always
    # never
    # onerror
    $pwd_show_policy = "never";
    # Position of password policy constraints message:
    # above - the form
    # below - the form
    $pwd_show_policy_pos = "above";

    # Who changes the password?
    # Also applicable for question/answer save
    # user: the user itself
    # manager: the above binddn
    $who_change_password = "user";

    ## Standard change
    # Use standard change form?
    $use_change = true;

    ## SSH Key Change
    # Allow changing of sshPublicKey?
    $change_sshkey = false;

    # What attribute should be changed by the changesshkey action?
    $change_sshkey_attribute = "sshPublicKey";

    # Who changes the sshPublicKey attribute?
    # Also applicable for question/answer save
    # user: the user itself
    # manager: the above binddn
    $who_change_sshkey = "user";

    # Notify users anytime their sshPublicKey is changed
    ## Requires mail configuration below
    $notify_on_sshkey_change = false;

    ## Questions/answers
    # Use questions/answers?
    # true (default)
    # false
    $use_questions = true;

    # Answer attribute should be hidden to users!
    $answer_objectClass = "extensibleObject";
    $answer_attribute = "info";

    # Extra questions (built-in questions are in lang/$lang.inc.php)
    #$messages['questions']['ice'] = "What is your favorite ice cream flavor?";

    ## Token
    # Use tokens?
    # true (default)
    # false
    $use_tokens = true;
    # Crypt tokens?
    # true (default)
    # false
    $crypt_tokens = true;
    # Token lifetime in seconds
    $token_lifetime = "3600";

    ## Mail
    # LDAP mail attribute
    $mail_attribute = "mail";
    # Get mail address directly from LDAP (only first mail entry)
    # and hide mail input field
    # default = false
    $mail_address_use_ldap = false;
    # Who the email should come from
    $mail_from = "admin@example.com";
    $mail_from_name = "Self Service Password";
    $mail_signature = "";
    # Notify users anytime their password is changed
    $notify_on_change = false;
    # PHPMailer configuration (see https://github.com/PHPMailer/PHPMailer)
    $mail_sendmailpath = '/usr/sbin/sendmail';
    $mail_protocol = 'smtp';
    $mail_smtp_debug = 0;
    $mail_debug_format = 'html';
    $mail_smtp_host = 'localhost';
    $mail_smtp_auth = false;
    $mail_smtp_user = '';
    $mail_smtp_pass = '';
    $mail_smtp_port = 25;
    $mail_smtp_timeout = 30;
    $mail_smtp_keepalive = false;
    $mail_smtp_secure = 'tls';
    $mail_contenttype = 'text/plain';
    $mail_wordwrap = 0;
    $mail_charset = 'utf-8';
    $mail_priority = 3;
    $mail_newline = PHP_EOL;

    ## SMS
    # Use sms
    $use_sms = true;
    # SMS method (mail, api)
    $sms_method = "mail";
    $sms_api_lib = "lib/smsapi.inc.php";
    # GSM number attribute
    $sms_attribute = "mobile";
    # Partially hide number
    $sms_partially_hide_number = true;
    # Send SMS mail to address
    $smsmailto = "{sms_attribute}@service.provider.com";
    # Subject when sending email to SMTP to SMS provider
    $smsmail_subject = "Provider code";
    # Message
    $sms_message = "{smsresetmessage} {smstoken}";
    # Remove non digit characters from GSM number
    $sms_sanitize_number = false;
    # Truncate GSM number
    $sms_truncate_number = false;
    $sms_truncate_number_length = 10;
    # SMS token length
    $sms_token_length = 6;
    # Max attempts allowed for SMS token
    $max_attempts = 3;

    # Encryption, decryption keyphrase, required if $crypt_tokens = true
    # Please change it to anything long, random and complicated, you do not have to remember it
    # Changing it will also invalidate all previous tokens and SMS codes
    $keyphrase = "123456";

    # Reset URL (if behind a reverse proxy)
    #$reset_url = $_SERVER['HTTP_X_FORWARDED_PROTO'] . "://" . $_SERVER['HTTP_X_FORWARDED_HOST'] . $_SERVER['SCRIPT_NAME'];

    # Display help messages
    $show_help = true;

    # Default language
    $lang = "en";

    # List of authorized languages. If empty, all language are allowed.
    # If not empty and the user's browser language setting is not in that list, language from $lang will be used.
    $allowed_lang = array();

    # Display menu on top
    $show_menu = true;

    # Logo
    $logo = "images/ltb-logo.png";

    # Background image
    $background_image = "images/unsplash-space.jpeg";

    # Where to log password resets - Make sure apache has write permission
    # By default, they are logged in Apache log
    #$reset_request_log = "/var/log/self-service-password";

    # Invalid characters in login
    # Set at least "*()&|" to prevent LDAP injection
    # If empty, only alphanumeric characters are accepted
    $login_forbidden_chars = "*()&|";

    ## CAPTCHA
    # Use Google reCAPTCHA (http://www.google.com/recaptcha)
    $use_recaptcha = false;
    # Go on the site to get public and private key
    $recaptcha_publickey = "";
    $recaptcha_privatekey = "";
    # Customization (see https://developers.google.com/recaptcha/docs/display)
    $recaptcha_theme = "light";
    $recaptcha_type = "image";
    $recaptcha_size = "normal";
    # reCAPTCHA request method, null for default, Fully Qualified Class Name to override
    # Useful when allow_url_fopen=0 ex. $recaptcha_request_method = 'ReCaptchaRequestMethodCurlPost';
    $recaptcha_request_method = null;

    ## Default action
    # change
    # sendtoken
    # sendsms
    $default_action = "change";

    ## Extra messages
    # They can also be defined in lang/ files
    #$messages['passwordchangedextramessage'] = NULL;
    #$messages['changehelpextramessage'] = NULL;

    # Launch a posthook script after successful password change
    #$posthook = "/usr/share/self-service-password/posthook.sh";

  • 相关阅读:
    NPM使用技巧
    重构老项目所悟
    Angular2开发笔记
    nodejs项目mysql使用sequelize支持存储emoji
    [原创]django+ldap+memcache实现单点登录+统一认证
    [原创]django+ldap实现单点登录(装饰器和缓存)
    [原创]django+ldap实现统一认证部分二(python-ldap实践)
    [原创]django+ldap实现统一认证部分一(django-auth-ldap实践)
    ldap部署相关,ldap双机LAM配置管理ldap备份还原
    通过pycharm使用git[图文详解]
  • 原文地址:https://www.cnblogs.com/han1094/p/7800234.html
Copyright © 2011-2022 走看看