diff options
Diffstat (limited to 'kpov_judge/tasks/ldap_search')
39 files changed, 0 insertions, 307 deletions
diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic1.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic1.jpg Binary files differdeleted file mode 100644 index fecb706..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic1.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic2.1.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic2.1.jpg Binary files differdeleted file mode 100644 index 085f1cc..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic2.1.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic2.2.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic2.2.jpg Binary files differdeleted file mode 100644 index cb9975c..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic2.2.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic2.3.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic2.3.jpg Binary files differdeleted file mode 100644 index 1069e1a..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic2.3.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.1.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic3.1.jpg Binary files differdeleted file mode 100644 index 0c00ddd..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.1.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.2.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic3.2.jpg Binary files differdeleted file mode 100644 index d488e43..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.2.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.3.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic3.3.jpg Binary files differdeleted file mode 100644 index 2ea916c..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.3.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.4.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic3.4.jpg Binary files differdeleted file mode 100644 index 24db305..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.4.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.5.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic3.5.jpg Binary files differdeleted file mode 100644 index d2ff304..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.5.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.6.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic3.6.jpg Binary files differdeleted file mode 100644 index 0ab07d0..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.6.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.7.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic3.7.jpg Binary files differdeleted file mode 100644 index 44ca494..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.7.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.8.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic3.8.jpg Binary files differdeleted file mode 100644 index 855353b..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic3.8.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic4.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic4.jpg Binary files differdeleted file mode 100644 index 4aab71d..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic4.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic5.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic5.jpg Binary files differdeleted file mode 100644 index 07a60de..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic5.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic6.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic6.jpg Binary files differdeleted file mode 100644 index 48c6606..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic6.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic7.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic7.jpg Binary files differdeleted file mode 100644 index 58b8bdf..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic7.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/Pic8.jpg b/kpov_judge/tasks/ldap_search/howtos/en/Pic8.jpg Binary files differdeleted file mode 100644 index c9d053e..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/Pic8.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/en/index.html b/kpov_judge/tasks/ldap_search/howtos/en/index.html deleted file mode 100644 index 31bb1e9..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/en/index.html +++ /dev/null @@ -1,74 +0,0 @@ -<!DOCTYPE html>
-<html>
-<head>
- <title>ldap_search</title>
- <meta charset="utf-8">
-</head>
-<body>
-</body>
-<h1>ldap_search</h1>
-<h2>Purpose of the exercise</h2>
-<p>How to setup a LDAP Server, to add entries to a LDAP Server, and to change users' rights to be able to add entries and change the attributes of entries.</p>
-
-<h2>How To</h2>
-
-<ol>
- <li>Create two virtual machines, <b>SimpleArbiterDhcpGWLDAP</b>(simpleArbiterDhcpGWLDAP.vdi) and <b>LDAPServer</b>(student-LDAPServer.vdi).
- <br><img src="../images/Pic1.jpg" alt="No img" width=600 height=400></li>
- <br>
- <li>Change the network settings to both virtual machines. <b>SimpleArbiterDhcpGWLDAP</b>: Adapter 1 is set to "NAT" for internet access and
- adapter 2 to "internal network" for local network. <b>LDAPServer</b>: Adapter 1 set to "internal network" sot that it is in the same internal network as SimpleArbiterDhcpGWLDAP.
- <br><img src="../images/Pic2.1.jpg" alt="No img" width=600 height=400>
- <br><img src="../images/Pic2.2.jpg" alt="No img" width=600 height=400>
- <br><img src="../images/Pic2.3.jpg" alt="No img" width=600 height=400></li>
- <br>
- <li>In <b>SimpleArbiterDhcpGWLDAP</b> log in as user "tester", in <b>LDAPServer</b> log in as user "root", run the command <b>"apt-get update"</b> to update the list of packages and
- open up another terminal by pressing <b>"ALT+F2"</b> and log in as user "student".</li>
- <br>
- <li>In <b>LDAPServer</b> run the command <b>"apt-get install slapd ldap-utils"</b> to install these packages which are the LDAP server and tools to access and manage the LDAP server.
- <br>During the LDAP server installation you'll have to provide the password for the user "admin", the administrator of the server and confirm the password chosen.</li>
- <br>
- <li>Configure the LDAP server by choosing the appropriate domain name and other configuration parameters. Execute the commmand <b>"dpkg-reconfigure slapd"</b>.
- <br><img src="../images/Pic3.1.jpg" alt="No img" width=600 height=400>
- <br><img src="../images/Pic3.2.jpg" alt="No img" width=600 height=400>
- <br><img src="../images/Pic3.3.jpg" alt="No img" width=600 height=400>
- <br><img src="../images/Pic3.4.jpg" alt="No img" width=600 height=400>
- <br><img src="../images/Pic3.5.jpg" alt="No img" width=600 height=400>
- <br><img src="../images/Pic3.6.jpg" alt="No img" width=600 height=400>
- <br><img src="../images/Pic3.7.jpg" alt="No img" width=600 height=400>
- <br><img src="../images/Pic3.8.jpg" alt="No img" width=600 height=400>
- <br>a) If you will configure the <b>"slapd"</b> again don't forget to remove the old database <b>"rm -rf /var/backups/unknown-2.4.44+dfsg-2.ldapdb"</b>.</li>
- <br>
- <li>Now that the LDAP server is configured for use, try to open a third console and log in as user "student" and execute the command <b>"ldapsearch -D cn=admin,dc=ceres-20,dc=kpov,
- dc=lusy,dc=fri,dc=uni-lj,dc=si -W -b dc=ceres-20,dc=kpov,dc=lusy,dc=fri,dc=uni-lj,dc=si"</b>, which will show the entries in the server.
- <br>Because you will be using a lot the domain name to access the LDAP server you can set the environment variable "D", which will allow for quicker typing of commands.
- <br><b>"export D=dc=ceres-20,dc=kpov,dc=lusy,dc=fri,dc=uni-lj,dc=si"</b>
- <br><b>"ldapsearch -D cn=admin,$D -wvaje -b $D"</b></li>
- <br>
- <li>Create the file(LDIF format) "users.ldif" which will contain the objects(users) that we want to add to the LDAP server database.
- <br><img src="../images/Pic4.jpg" alt="No img" width=600 height=400>
- <br>Execute the following command to add users to the LDAP server:
- <br><b>"ldapadd -D cn=admin,$D -wvaje -f users.ldif"</b>
- <br>Add password to the users added to the LDAP server:
- <br><b>"ldappasswd -D cn=admin,$D -wvaje -sj2531e cn=ninavidmar,ou=users,$D"</b>
- <br><b>"ldappasswd -D cn=admin,$D -wvaje -scTyRM0 cn=natalijaribnikar39,ou=users,$D"</b>
- <br>Execute command <b>"ldapsearch -D cn=natalijaribnikar39,ou=users,$D -wcTyRM0 -b $D"</b> to bind to the LDAP server with the newly added user <b>"natalijaribnikar39"</b> and to see the entries currently in the LDAP server.
- <br><img src="../images/Pic5.jpg" alt="No img" width=600 height=400></li>
- <br>
- <li>In order to change the users' rights settings, which allows a user to add entries to the directory and change values of attributes of entries in the directory you need to create an additional file acl.ldif:
- <br>To see which backend database is used and other settings related to the users' rights execute command <b>"ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config"</b> as root user in the system, which does not need the user authentication to the LDAP server.
- <br><img src="../images/Pic6.jpg" alt="No img" width=600 height=400>
- <br>The settings in the acl.ldif file:
- <br><img src="../images/Pic7.jpg" alt="No img" width=600 height=400>
- <br>Now to change users' rights run the command <b>"ldapmodify -Y EXTERNAL -H ldapi:/// -f acl.ldif"</b> as user "root" in the system.</li>
- <br>
- <li>The user <b>"natalijaribnikar39"</b> has the right to add or change objects in the LDAP server.
- <br>Now try to bind to the LDAP server using <b>"natalijaribnikar39"</b> user's credentials and add a new user to the server directory.
- <br><b>"ldapadd -D cn=natalijaribnikar39,ou=users,$D -wcTyRM0 -f newuser.ldif"</b></li>
- <br>
- <li>Now to test your result go to the <b>SimpleArbiterDhcpGWLDAP</b> virtual machine and run <b>"./test_task.py"</b> to run the test and see your score.
- <br><img src="../images/Pic8.jpg" alt="No img" width=600 height=400></li>
-
-</ol>
-
-</html>
diff --git a/kpov_judge/tasks/ldap_search/howtos/images/1.png b/kpov_judge/tasks/ldap_search/howtos/images/1.png Binary files differdeleted file mode 100644 index f4edca8..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/1.png +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/2.png b/kpov_judge/tasks/ldap_search/howtos/images/2.png Binary files differdeleted file mode 100644 index 4d4ebb5..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/2.png +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic1.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic1.jpg Binary files differdeleted file mode 100644 index fecb706..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic1.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic2.1.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic2.1.jpg Binary files differdeleted file mode 100644 index 085f1cc..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic2.1.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic2.2.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic2.2.jpg Binary files differdeleted file mode 100644 index cb9975c..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic2.2.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic2.3.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic2.3.jpg Binary files differdeleted file mode 100644 index 1069e1a..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic2.3.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.1.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic3.1.jpg Binary files differdeleted file mode 100644 index 0c00ddd..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.1.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.2.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic3.2.jpg Binary files differdeleted file mode 100644 index d488e43..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.2.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.3.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic3.3.jpg Binary files differdeleted file mode 100644 index 2ea916c..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.3.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.4.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic3.4.jpg Binary files differdeleted file mode 100644 index 24db305..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.4.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.5.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic3.5.jpg Binary files differdeleted file mode 100644 index d2ff304..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.5.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.6.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic3.6.jpg Binary files differdeleted file mode 100644 index 0ab07d0..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.6.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.7.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic3.7.jpg Binary files differdeleted file mode 100644 index 44ca494..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.7.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.8.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic3.8.jpg Binary files differdeleted file mode 100644 index 855353b..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic3.8.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic4.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic4.jpg Binary files differdeleted file mode 100644 index 4aab71d..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic4.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic5.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic5.jpg Binary files differdeleted file mode 100644 index 07a60de..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic5.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic6.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic6.jpg Binary files differdeleted file mode 100644 index 48c6606..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic6.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic7.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic7.jpg Binary files differdeleted file mode 100644 index 58b8bdf..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic7.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/images/Pic8.jpg b/kpov_judge/tasks/ldap_search/howtos/images/Pic8.jpg Binary files differdeleted file mode 100644 index c9d053e..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/images/Pic8.jpg +++ /dev/null diff --git a/kpov_judge/tasks/ldap_search/howtos/si/index.html b/kpov_judge/tasks/ldap_search/howtos/si/index.html deleted file mode 100644 index 7370099..0000000 --- a/kpov_judge/tasks/ldap_search/howtos/si/index.html +++ /dev/null @@ -1,23 +0,0 @@ -<html> -<head> -<meta http-equiv=Content-Type content="text/html; charset=utf-8"> -</head> -<body> -<h1>Naloga: ldap search</h1> -<p> -<h2>Povzetek naloge</h2> -Ustvari 2 virtualna sistema SimpleArbiterDhcp ter LDAPServer ter se s SimpleArbiterDhcp povezi na LDAP server na drugem virtualnem sistemu. Ustvari uporabnika. -</p> -<p> -<h2>Navodila</h2> - 1. Prenesite disk SimpleArbiterDhcp preko imenika s diski virtualnih naprav. - 2. V Virtualbox ustvarite nov racunalnik SimpleArbiterDhcp in uporabite prenešen disk.(Slika 1) - 3. Prav tako naredi drugi virtualni sistem poimenovan LDAPServer. - 4. Na oba sistema se prijavi kot uporabnik "root" z geslom "kaboom". - 5. Na sistemi LDAPServer namesti LDAP z ukazom 'apt-get install ldap-utils.(Slika 2) - 6. Po prenosu vkljucite LDAP server. - 7. S sistema SimpleArbiterDhcp se povezi na LDAP streznik na sistemu LDAPServer. - 8. Ustvari uporabnika na LDAP serverju. -</p> -</body> -</html> diff --git a/kpov_judge/tasks/ldap_search/task.py b/kpov_judge/tasks/ldap_search/task.py deleted file mode 100644 index 29117db..0000000 --- a/kpov_judge/tasks/ldap_search/task.py +++ /dev/null @@ -1,210 +0,0 @@ -# kpov_util should be imported by add_assignment.py - -# Poveži se na strežnik LDAP prek spletnega vmesnika. Ustvari uporabnika z danim imenom in geslom. -# Napiši skripto, ki izpiše podatke o tem uporabniku z ldapsearch. - -# TODO: finish this! -instructions = { - 'si': '''\ -<p> -Ustvari dva navidezna računalnika: <em>SimpleArbiter</em> in <em>LDAPServer</em>. - -<p> -Na <em>LDAPServer</em> namesti strežnik LDAP. Strežnik naj skrbi za domeno - -<pre><code>DC={{DOMAIN}},DC=kpov,DC=lusy,DC=fri,DC=uni-lj,DC=si</code></pre> - -<p> -V imeniku ustvari uporabnika - -<pre><code>CN={{LDAP_USERNAME}},ou=users,DC={{DOMAIN}},DC=kpov,DC=lusy,DC=fri,DC=uni-lj,DC=si</code></pre> - -<p> -z geslom <code>{{LDAP_PASSWORD}}</code> in uporabnika - -<pre><code>CN={{BIND_USERNAME}},ou=users,DC={{DOMAIN}},DC=kpov,DC=lusy,DC=fri,DC=uni-lj,DC=si</code></pre> - -<p> -z geslom <code>{{BIND_PASSWORD}}</code>. - -<p> -Poskrbi, da se bo lahko klient s <em>SimpleArbiter</em> povezal na LDAP strežnik na <em>LDAPServer</em>. -V primeru, da se klient poveže kot <code>{{BIND_USERNAME}}</code> z geslom <code>{{BIND_PASSWORD}}</code>, -naj strežnik omogoči spreminjanje podatkov za objekt - -<pre><code>CN={{LDAP_USERNAME}},ou=users,DC={{DOMAIN}},DC=kpov,DC=lusy,DC=fri,DC=uni-lj,DC=si</code></pre> - -<p> -ter ustvarjanje novih objektov v - -<pre><code>DC={{DOMAIN}},DC=kpov,DC=lusy,DC=fri,DC=uni-lj,DC=si - -CN = Common Name -O = Organization -OU = Organizational Unit -DC = Domain Component -</code></pre> -''', - 'en': '''\ -<p> -Create two virtual machines: <em>SimpleArbiter</em> and <em>LDAPServer</em>. - -<p> -Set up an LDAP server on <em>LDAPServer</em>. Make it responsible for - -<pre><code>DC={{DOMAIN}},DC=kpov,DC=lusy,DC=fri,DC=uni-lj,DC=si</code></pre> - -<p> -Create a user - -<pre><code>CN={{LDAP_USERNAME}},ou=users,DC={{DOMAIN}},DC=kpov,DC=lusy,DC=fri,DC=uni-lj,DC=si</code></pre> - -<p> -with the password <code>{{LDAP_PASSWORD}}</code>, and a user - -<pre><code>CN={{BIND_USERNAME}},ou=users,DC={{DOMAIN}},DC=kpov,DC=lusy,DC=fri,DC=uni-lj,DC=si</code></pre> - -<p> -with the password <code>{{LDAP_PASSWORD}}</code> . - -<p> -Make sure that a client from <em>SimpleArbiter</em> can connect to the LDAP server on <em>LDAPServer</em>. If the client identifies themself as <code>{{BIND_USERNAME}}</code> with the password <code>{{BIND_PASSWORD}}</code>, allow it to change data for the object - -<pre><code>CN={{LDAP_USERNAME}},ou=users,DC={{DOMAIN}},DC=kpov,DC=lusy,DC=fri,DC=uni-lj,DC=si</code></pre> - -<p> -and to create objects in - -<pre><code>DC={{DOMAIN}},DC=kpov,DC=lusy,DC=fri,DC=uni-lj,DC=si - -CN = Common Name -O = Organization -OU = Organizational Unit -DC = Domain Component -</code></pre> -''', -} - -computers = { - 'LDAPServer': { - 'disks': [ - { 'name': 'student-LDAPServer', - }, - #{ 'name': 'CDROM', - # 'options':{'readonly': True}, - # 'parts': [],# no parts, no mounting. - #} - ], - 'network_interfaces': [{'network': 'net1'}], - 'flavor': 'm1.tiny', - 'config_drive': False - - }, - 'SimpleArbiter': { - 'disks': [ - { 'name': 'simpleArbiterDhcpGWLDAP', - # attempt automount - }, - #{ 'name': 'CDROM', - # 'options': {'readonly': True}, - # 'parts': [{'dev': 'b1', 'path': '/cdrom'}], - #}, - ], - 'network_interfaces': [{'network': 'net1'}, {'network': 'test-net'}], - 'flavor': 'm1.tiny', - 'config_drive': False - } -} - -networks = { 'net1': {'public': False}, 'test-net': {'public': True} } - -params_meta = { - 'LDAP_IP': {'descriptions': {'si': 'IP strežnika', 'en': 'Server IP'}, 'w': True, 'public':True, 'type': 'IP', 'generated': False}, - 'DOMAIN': {'descriptions': {'si': 'Domena (poddomena kpov.lusy.fri.uni-lj.si)', 'en': 'Domain (subdomain of kpov.lusy.fri.uni-lj.si)'}, 'w': False, 'public':True, 'type': 'username', 'generated': True}, - 'LDAP_USERNAME': {'descriptions': {'si': 'Uporabniško ime v LDAP', 'en': 'Username in LDAP'}, 'w': False, 'public':True, 'type': 'username', 'generated': True}, - 'LDAP_PASSWORD': {'descriptions': {'si': 'Geslo v LDAP', 'en': 'LDAP password'}, 'w': False, 'public':True, 'type': 'password', 'generated': True}, - 'BIND_USERNAME': {'descriptions': {'si': 'Uporabniško ime za dostop do LDAP (bind)', 'en': 'Bind username in LDAP'}, 'w': False, 'public':True, 'type': 'username', 'generated': True}, - 'BIND_PASSWORD': {'descriptions': {'si': 'Geslo za dostop do LDAP (bind)', 'en': 'Bind password in LDAP'}, 'w': False, 'public':True, 'type': 'password', 'generated': True}, -} - -def task(LDAP_IP, DOMAIN, LDAP_USERNAME, LDAP_PASSWORD, BIND_USERNAME, BIND_PASSWORD): - from pexpect import pxssh - import pexpect - results = dict() - FULLDOMAIN = "dc={DOMAIN},dc=kpov,dc=lusy,dc=fri,dc=uni-lj,dc=si".format( - **locals()) - BIND_DN = "cn={BIND_USERNAME},ou=Users,{FULLDOMAIN}".format(**locals()) - s = "ldapsearch -D {BIND_DN} -b {FULLDOMAIN} -w {BIND_PASSWORD}\ - -h {LDAP_IP}".format( - **locals()) - results['ldapsearch_before'] = pexpect.run(s) - s = "ldapmodify -D {BIND_DN} -w {BIND_PASSWORD} -h {LDAP_IP}".format( - **locals()) - modify = pexpect.spawn(s) - FORTUNE = kpov_util.hostname_gen(random.Random(str(LDAP_USERNAME))) - results['fortune'] = FORTUNE - s1 = """ -dn: cn={LDAP_USERNAME},ou=Users,{FULLDOMAIN} -changetype: modify -replace: description -description: {FORTUNE} -""".format(**locals()) - modify.write(s1) - modify.sendeof() - modify.expect(pexpect.EOF) - results['modify'] = modify.before - s = "ldapsearch -D {BIND_DN} -b {FULLDOMAIN} -w {BIND_PASSWORD}\ - -h {LDAP_IP}".format(**locals()) - results['ldapsearch_after'] = pexpect.run(s) - return results - -def gen_params(user_id, params_meta): - params = dict() - r = random.Random(user_id) - params['DOMAIN'] = kpov_util.hostname_gen(r) - params['LDAP_USERNAME'] = kpov_util.username_gen(r) - params['LDAP_PASSWORD'] = kpov_util.alnum_gen(r, 6) - params['BIND_USERNAME'] = kpov_util.username_gen(r) - params['BIND_PASSWORD'] = kpov_util.alnum_gen(r, 6) - return params - -def task_check(results, params): - import re - score = 0 - hints = [] - s = """.*dn: dc={DOMAIN},dc=kpov,dc=lusy,dc=fri,dc=uni-lj,dc=si\r[^#]* -objectClass: top\r -objectClass: dcObject\r -objectClass: organization\r -.*""".format(**params) -#dc: {DOMAIN}\r - if re.match(s, results['ldapsearch_before'], re.DOTALL): - score += 2 - else: - hints += ["domain missing in ldapsearch result"] - s = ".*cn: {}.*".format(re.escape(params['LDAP_USERNAME'])) - if re.search(s, results['ldapsearch_before']): - score += 2 - else: - hints += ["LDAP_USERNAME missing in: " + s + str(results['ldapsearch_before'])] - fortune = kpov_util.hostname_gen(random.Random(str(params['LDAP_USERNAME']))) - s = ".*cn: {0}.*description: {1}.*".format( - re.escape(params['LDAP_USERNAME']), re.escape(fortune)) - if re.match(s, results['ldapsearch_after'], re.DOTALL): - score += 2 - else: - hints += ["description missing after update:" + fortune + "\n" + s + str(results['modify']) + str(results['ldapsearch_after'])] - if results['ldapsearch_before'][:100] == results['ldapsearch_after'][:100]: - score += 2 - else: - hints += ["ldapsearch before equals after. This should not happen."] - s = '.*\r\nmodifying entry "cn={LDAP_USERNAME},ou=Users,dc={DOMAIN},dc=kpov,dc=lusy,dc=fri,dc=uni-lj,dc=si".*'.format( - **params) - if re.match(s, results['modify'], re.DOTALL): - score += 2 - else: - hints += ['Modify error' + s + str(results['modify'])] - return score, hints - -def prepare_disks(templates, task_params, global_params): - write_default_config(templates['simpleArbiterDhcpGWLDAP'], global_params) |