From bf5126af26b0049075bf0701ad9eb805de5ad478 Mon Sep 17 00:00:00 2001 From: Kloadut Date: Tue, 23 Oct 2012 18:10:39 +0200 Subject: [PATCH] Init function without admin mod --- ldap_scheme.yml | 116 +++++++++++++++++++++++----------------------- yunohost_tools.py | 8 ++-- 2 files changed, 64 insertions(+), 60 deletions(-) diff --git a/ldap_scheme.yml b/ldap_scheme.yml index d91a6b40..abc52bb9 100644 --- a/ldap_scheme.yml +++ b/ldap_scheme.yml @@ -1,66 +1,68 @@ -ou=sudo: - ou: sudo - objectClass: - - organizationalUnit - - top +parents: + ou=sudo: + ou: sudo + objectClass: + - organizationalUnit + - top -cn=admin,ou=sudo: - cn: admin - sudoUser: admin - sudoHost: ALL - sudoCommand: ALL - sudoOption: "!authenticate" - objectClass: - - sudoRole - - top + ou=users: + ou: users + objectClass: + - organizationalUnit + - top -cn=www-data,ou=sudo: - cn: www-data - sudoUser: www-data - sudoHost: ALL - sudoCommand: /usr/bin/yunohost - sudoOption: "!authenticate" - objectClass: - - sudoRole - - top + ou=domains: + ou: domains + objectClass: + - organizationalUnit + - top -ou=users: - ou: users - objectClass: - - organizationalUnit - - top + ou=apps: + ou: apps + objectClass: + - organizationalUnit + - top -ou=domains: - ou: domains - objectClass: - - organizationalUnit - - top + ou=groups: + ou: groups + objectClass: + - organizationalUnit + - top -ou=apps: - ou: apps - objectClass: - - organizationalUnit - - top +childs: + cn=admins,ou=groups: + cn: admins + gidNumber: "4001" + memberUid: admin + objectClass: + - posixGroup + - top -ou=groups: - ou: groups - objectClass: - - organizationalUnit - - top + cn=sftpusers,ou=groups: + cn: sftpusers + gidNumber: "4002" + memberUid: admin + objectClass: + - posixGroup + - top -cn=admins,ou=groups: - cn: admins - gidNumber: "4001" - memberUid: admin - objectClass: - - posixGroup - - top -cn=sftpusers,ou=groups: - cn: sftpusers - gidNumber: "4002" - memberUid: admin - objectClass: - - posixGroup - - top + cn=admin,ou=sudo: + cn: admin + sudoUser: admin + sudoHost: ALL + sudoCommand: ALL + sudoOption: "!authenticate" + objectClass: + - sudoRole + - top + cn=www-data,ou=sudo: + cn: www-data + sudoUser: www-data + sudoHost: ALL + sudoCommand: /usr/bin/yunohost + sudoOption: "!authenticate" + objectClass: + - sudoRole + - top diff --git a/yunohost_tools.py b/yunohost_tools.py index b1a86a7c..ee045078 100644 --- a/yunohost_tools.py +++ b/yunohost_tools.py @@ -2,12 +2,14 @@ import yaml -def tools_init(args, connections): - +def tools_init(args, connections): yldap = connections['ldap'] with open('ldap_scheme.yml') as f: ldap_map = yaml.load(f) - for rdn, attr_dict in ldap_map: + for rdn, attr_dict in ldap_map['parents'].items(): + yldap.add(rdn, attr_dict) + + for rdn, attr_dict in ldap_map['childs'].items(): yldap.add(rdn, attr_dict)