{ "info": { "author": "Robert Wikman", "author_email": "rbw@vault13.org", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python" ], "description": ".. code-block:: bash\n \n ______ __ __ ______ __ __ ______ __ __ __ __ ______ \n /\\ __ \\ /\\ \\/\\ \\ /\\__ _\\ /\\ \\_\\ \\ /\\___ \\ /\\ \\_\\ \\ /\\ \"-.\\ \\ /\\ ___\\ \n \\ \\ __ \\ \\ \\ \\_\\ \\ \\/_/\\ \\/ \\ \\ __ \\ \\/_/ /__ \\ \\____ \\ \\ \\ \\-. \\ \\ \\ \\____ \n \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_\\ \\ \\_\\ \\_\\ /\\_____\\ \\/\\_____\\ \\ \\_\\\\\"\\_\\ \\ \\_____\\ \n \\/_/\\/_/ \\/_____/ \\/_/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ \\/_/ \\/_____/ \n \n \n\n- Supports LDAP & local users.\n- Follows nested groups.\n- Compatible with Python 2 and 3.\n\n\nInstallation\n------------\n\n**git**\n\n.. code-block:: bash\n \n $ pypi install ldap3\n $ git clone https://github.com/rbw0/authzync.git \n \n**pypi**\n\n.. code-block:: bash\n\n $ pypi install authzync\n\n\nUsage example\n-------------\n\nPerform a sync of the LDAP directory specified in ``authzync.json``, get non-LDAP permissions from ``local_db.json`` and write results to ``svn_authz.txt``\n\n.. code-block:: bash\n\n $ python authzync.py --config authzync.json --local_db local_db.json --authz svn_authz.txt\n\n\nConfiguration\n-------------\n\n**Authzync config (--config)**\nConfigures LDAP, mappings, parse rules, logging etc\n\n\n | Example\n | https://github.com/rbw0/authzync/blob/master/examples/authzync.json\n\n\n\n**Local users (--local_db)** \nCan be used to set repository permissions for users not present in the LDAP directory, i.e. local users.\n\n\n | Example\n | https://github.com/rbw0/authzync/blob/master/examples/local_db.json\n\n\n\nHow it works\n------------\n1. Authzync starts by looking for groups matching the ``patterns.access_pattern`` in ``ldap.base_dn``\n\n Note that there's only one required part in the group name: ``repo_access`` (**RO** or **RW**). This tells authzync which permission to apply to members of this group.\n \n2. Next, the value of the attribute set in ``mappings.section_name`` is parsed according to ``patterns.section_pattern``\n3. Finally, a list of members is fetched and the authz file generated.\n\n\nExample\n-------\n\n**Authzync config**\n\n======================== ===========================\nName Value\n======================== ===========================\nldap.base_dn ou=SVN,dc=example,dc=com\nmappings.section_name description\npatterns.access_pattern ^svn_.*_(?PRO|RW)$\npatterns.section_pattern ^(?P.*):(?P\\/.*)\n======================== ===========================\n\n**...and...**\n\n**LDAP directory**\n\n===================== =========================== ===========================\nGroup name ``description`` value Members\n===================== =========================== ===========================\nsvn_repo1-trunk_ro repo1:/trunk user1, user2\nsvn_repo2-branches_ro repo2:/branches user1, user3\nsvn_repo1_rw repo1:/ user3\n===================== =========================== ===========================\n\n\n**Should result in**::\n\n [repo1:/trunk]\n user1 = r\n user2 = r\n \n [repo2:/branches]\n user1 = r\n user3 = r\n \n [repo1:/]\n user3 = rw\n\n\nAuthor\n------\nCreated by Robert Wikman in 2017\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/rbw0/authzync/tarball/0.1.8", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rbw0/authzync", "keywords": "subversion", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "authzync", "package_url": "https://pypi.org/project/authzync/", "platform": "any", "project_url": "https://pypi.org/project/authzync/", "project_urls": { "Download": "https://github.com/rbw0/authzync/tarball/0.1.8", "Homepage": "https://github.com/rbw0/authzync" }, "release_url": "https://pypi.org/project/authzync/0.1.8/", "requires_dist": null, "requires_python": "", "summary": "SVN AuthZ-LDAP sync tool", "version": "0.1.8" }, "last_serial": 2752225, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2eee175de4ac6517c88d63cf952b6f09", "sha256": "191f7f5339a96dbd7d9a14af894e1dd69676551aaa26327b4c054debecbdd417" }, "downloads": -1, "filename": "authzync-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2eee175de4ac6517c88d63cf952b6f09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3753, "upload_time": "2017-03-01T12:19:24", "url": "https://files.pythonhosted.org/packages/33/4e/a5e4daef0220abd8c867192701189435874a13a3713cf7ac1ce657d99919/authzync-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c45109a3baaad2a0dee752d1f320c5eb", "sha256": "565aa3c106e69634f870e2e385959ca0e08caf947c5890ef9597d5c0fc63a7fa" }, "downloads": -1, "filename": "authzync-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c45109a3baaad2a0dee752d1f320c5eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4943, "upload_time": "2017-03-01T15:15:47", "url": "https://files.pythonhosted.org/packages/a6/46/fc8e965c3e051d24a7857d2e2980f00b98f194c304af7bafe00f8d0de42b/authzync-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "9602e8d2570b28f8ad225a357f760cad", "sha256": "cab1de34a0889688ce022f5962bd94ef526ce32925fb3036e445821419807200" }, "downloads": -1, "filename": "authzync-0.1.2.tar.gz", "has_sig": false, "md5_digest": "9602e8d2570b28f8ad225a357f760cad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5117, "upload_time": "2017-03-01T16:03:44", "url": "https://files.pythonhosted.org/packages/a1/91/53cb090e7708b17c8ac213560622d0569ba0e742d7e20b60a48db6b9ec42/authzync-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "1696737ddb7dbd7da20c864ab034cd5f", "sha256": "d89e70908ea6714cf4e75137d64a5855e3aeee300de9bfd63e45f0b890abc666" }, "downloads": -1, "filename": "authzync-0.1.3.tar.gz", "has_sig": false, "md5_digest": "1696737ddb7dbd7da20c864ab034cd5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5112, "upload_time": "2017-03-01T16:24:20", "url": "https://files.pythonhosted.org/packages/02/21/352e011445a24120c0adafb25e51ce0ecc454450a002f21fe1589b3dad19/authzync-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "bd550260c18291c63507adedab6a3626", "sha256": "ab8a0bb54ee7c653c0ce3c154d8dfa03395a17e2d323b46f602688ac6608d2aa" }, "downloads": -1, "filename": "authzync-0.1.4.tar.gz", "has_sig": false, "md5_digest": "bd550260c18291c63507adedab6a3626", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5109, "upload_time": "2017-03-01T16:51:29", "url": "https://files.pythonhosted.org/packages/f8/6e/df6a63cabfae5979ea7f77753a1c0087c8309022f683cef144e1108c329d/authzync-0.1.4.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "ef79d63328e79e07c8c65c0300821aad", "sha256": "8c49239f09f74f5a79e11c068520131987d3df810d2b58819ac2f03dfa6984de" }, "downloads": -1, "filename": "authzync-0.1.6.tar.gz", "has_sig": false, "md5_digest": "ef79d63328e79e07c8c65c0300821aad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6042, "upload_time": "2017-03-21T19:44:48", "url": "https://files.pythonhosted.org/packages/6b/a7/4be704e113f749e1923542dadc99600862599a92cc5d9bbdeb06593ed312/authzync-0.1.6.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "7da09622be85c08077fb08545b5f38f7", "sha256": "baac538fa560e2b93a7963883a5d60440404f9b440d463bfa74a12975a7e60bb" }, "downloads": -1, "filename": "authzync-0.1.8.tar.gz", "has_sig": false, "md5_digest": "7da09622be85c08077fb08545b5f38f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6224, "upload_time": "2017-04-04T14:52:50", "url": "https://files.pythonhosted.org/packages/2e/0a/59cb2b48eafaf704b2ec60952aa9236ef9bf223b72bcfb014a51f6502707/authzync-0.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7da09622be85c08077fb08545b5f38f7", "sha256": "baac538fa560e2b93a7963883a5d60440404f9b440d463bfa74a12975a7e60bb" }, "downloads": -1, "filename": "authzync-0.1.8.tar.gz", "has_sig": false, "md5_digest": "7da09622be85c08077fb08545b5f38f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6224, "upload_time": "2017-04-04T14:52:50", "url": "https://files.pythonhosted.org/packages/2e/0a/59cb2b48eafaf704b2ec60952aa9236ef9bf223b72bcfb014a51f6502707/authzync-0.1.8.tar.gz" } ] }