BASH

    1. Za pośrednictwem PuTTy połącz się ze swoim serwerem
    2. Wykorzystując edytor („mcedit”, „vi”, „nano”, „joe”) utwórz nowy plik w którym umieścimy kod BASH do tworzenia nowych użytkowników.
    3. Przykładowy kod BASH do czytania parametru do programu oraz danych w programie
#!/bin/bash
echo „Podaj dane i zakoncz ENTER: „ 
read dane
echo „Wprowadzono dane: ” $dane 

Zmiana uprawnień:

chmod +x nazwa_pliku

Przykład wywołania:

./nazwa_pliku
    1. Przygotuj program pozwalający utworzyć użytkownika w LDAP na podstawie 3 danych:
      • Imię
      • Nazwisko
      • Hasło
    2. Program musi stworzyć konto użytkownika – powinno zawierać 1 literę imienia i całe nazwisko (np. jkowalski). UWAGA !! nazwa konta powinna być z małych liter.
    3. UIDNumber to wartość po której system rozpoznaje użytkownika – musi być unikatowe. Dlatego powinno mieć następny numer UIDNumber (następny wolny z powyżej 10000 – ten miał user1)
      • Przykład pobierania ostatniego UIDNumber z LDAP (największa wartość)
zmienna=$(ldapsearch -x -LLL uidnumber | grep "uidNumber" | cut -d" " -f2 | sort -n -r | head -1)
echo $zmienna
zmienna=$[$zmienna+1]
echo $zmienna
    1. Nowe konto powinno mieć przypisany katalog domowy w /home/nazwa_użytkownika , gdzie nazwa_użytkownika jest zmienną z programu (patrz pkt. 5)
    2. Powinien zostać utworzony taki właśnie katalog na dysku wraz z przypisaniem uprawnień chmod i chown (UWAGA – dopiero po poprawnym wykonaniu zakładania konta w LDAP !!!!!). Do sprawdzenie poprawności wykonania poprzedniej komendy służy zmienna $? I można sprawdzić poleceniem if :
      if [ "$?" = "0" ]
        then  
            polecenie_1
            polecenie_2
            polecenie_3
      fi
      
      • Tworzenie katalogu, zmiana uprawnień i zmiana właściciela:
mkdir /home/katalog_użytkownika
chmod 700 /home/katalog_użytkownika
chown $zmienna:100 /home/katalog_użytkownika
  1. Hasło jest w polu LDAP o nazwie „userpassword”
  2. Kiedy program przygotuje plik z informacją o nowym użytkowniku (podobny plik ja w laboratorium LDAP1 dla użytkownika user1 patrz pkt. 15 laboratorium LDAP1) wtedy można utworzyć go w LDAP przy pomocy poniższego polecenia. Polecenie dodawania użytkownika po utworzeniu danych wsadowych ldif w pliku:
    ldapmodify  -a -x -D cn=admin,dc=lab,dc=pl -W -f nazwa_pliku
  3. Przykłady kodów BASH
  • Czytanie ze standard IN (wprowadzanie danych do skryptu) z wyświetlaniem ich
read nazwisko
echo $nazwisko

echo -n "Podaj nazwisko: "
read nazwisko
echo "Wprowadzono: "$nazwisko
  • Zapisanie informacji do pliku w trybie „nadpisywania danych”
echo "dn: $user,dc=lab,dc=pl" > /root/katalog/plik
  • Zapisanie informacji do pliku w trybie „doklejania danych”
echo "uid: $LoginName" >> /root/katalog/plik
echo "userpassword: $UserPassword" >> /root/katalog/plik
  • Zamiana znaków (duże na małe)
zmienna=$(echo $zmienna1 | tr [:upper:] [:lower:])
  • Wycięcie jednej litery z ciągu
litera=$(echo $imie | cut -c 1)
  • Sklejanie ciągów
konto=$litera_imie$nazwisko

  • Pierwsza litera duża z ciągu
imie="marek"
echo ${imie^}

wynik:

Marek

  • Pierwsze litery w wyrazach ciągu znaków
ciag="marek kowalski inżynier"
ciag=( $ciag ) # zamiana na wektor 3 elementowy
echo ${ciag[@]^}

wynik:

Marek Kowalski Inżynier

 

 

Algorytm programu